常用的SQL调优

Posted virgosnail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用的SQL调优相关的知识,希望对你有一定的参考价值。

1. 不要使用 select * ,使用select *的话会增加解析的时间,另外会把不需要的数据也给查询出来,数据传输也是耗费时间的。

2.  避免在 where 子句中使用 or 来连接条件,可以使用 UNION ALL,并且避免使用UNION

  UNION 因为会将各查询子集的记录做比较,故比起UNION ALL ,通常速度都会慢上许多。

  一般来说,如果使用UNION ALL能满足要求的话,务必使用UNION ALL。还有一种情况,如果业务上能够确保不会出现重复记录。

3. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

4. 避免在索引列上做如下操作

  1. 避免在索引字段上使用<>,!=;
  2. 避免在索引列上使用 IS NULL 和 IS NOT NULL;
  3. 避免在索引列上出现数据类型转换(比如某字段是String类型,参数传入时是int类型);
  4. 避免在 where 子句中使用 or 来连接条件;
  5. 避免在 where 子句中对字段进行表达式操作;
  6. 避免在 where 子句中对字段进行函数操作;
  7. 避免在in 和 not in 的使用;
  8. 避免在模糊匹配以%开头;

  当在索引列上使用如上操作时,索引将会失效,造成全表扫描。

 

以上是关于常用的SQL调优的主要内容,如果未能解决你的问题,请参考以下文章

dataWorks常用调优参数

sql语句对数据库调优常用

dataWorks常用调优参数

SQL Server调优系列基础篇(常用运算符总结——三种物理连接方式剖析)

MySQL(用户管理,常用sql语句,数据库备份恢复,MySQL调优,恢复误操作数据)

SQL Server调优系列基础篇