十条关于SQL优化的小技巧

发布时间:2019-06-30 08:56:24

1.在经常需要进行检索的字段上创建索引。索引的数量需要控制,过多的索引会降低insert或update的效率。2.避免在索引上使用计算。在where语句中,如果索引列是计算或者函数的一...

您的位置:仿站网 > 网站优化 > 十条关于SQL优化的小技巧

1.在经常需要进行检索的字段上创建索引。

索引的数量需要控制,过多的索引会降低insert或update的效率。

2.避免在索引上使用计算。

在where语句中,如果索引列是计算或者函数的一部分,则DBMS的优化器不会使用索引。

3.使用预编译查询(使用参数化SQL)。

既可以避免SQL注入漏洞攻击,数据库还会对参数化SQL进行预编译,在DBSM会为这个SQL进行查询优化。

4.尽量将多条SQL语句压缩到一句SQL中。

每次执行SQL时,都要建立网络连接、权限校验、查询优化、发送执行结果,这个过程是非常耗时的。

5.用where字句替换having字句。

where是在聚合前筛选记录,having只会在检索出所有记录后才进行过滤。

6.使用表的别名。

在连接多个表时,使用表的别名可以减少解析时间。

7.用union all替换union。

当确定检索结果不会有重复的记录时,使用 union all 可以提高效率。

8.使用“临时表”存放中间结果。

将临时结果存放在临时表,避免多次扫描主表,减少程序执行中“共享锁”阻塞“排它锁”(更新锁),提高并发性能。

9.避免在where字句中使用字段null值判断。

使用null值判断会导致引擎放弃使用索引而进行全表扫描。

10.在select语句中,不要返回用不到的字段。在任何情况下,都不要使用“*”,需要用到什么,就返回什么。

转载请注明本文地址: 十条关于SQL优化的小技巧 https://www.ecmsw.cn/html/5096.html
标签 关于 十条
帝国CMS模板
帝国CMS插件
仿站常见问题

仿站网专注于帝国CMS仿站及二次开发、模板定制等各种有关帝国CMS程序疑难杂症!
Copyright@2016-2023 汇鑫网络工作室 版权所有 仿站网 www.ecmsw.cn
鲁ICP备17005488号-1 鲁公网安备 37018102000481号