Sql语句优化

  1. 保证不查询多余的行和列;
  2. 慎用in和not in,否则导致全表查询。用exists和not exists;
  3. union all会比union效率高;
  4. 适当使用表的别名和列的别名;
  5. 使用>=代替>,因为≥会直接定位,而>会先定位再去除;
  6. 用where子句代替having子句,避免使用having子句,having只会在检索出所有记录之后才对结果集进行过滤;
  7. 尽量避免在where子句中进行null值判断、使用!=及<>操作符、使用or来连接条件,否则会导致引擎放弃使用索引而进行全表查询;
  8. 使用like语句时,单侧%可以使用索引,避免两侧都有;
  9. 使用group by子句时,尽量在group by前面将数据过滤掉。
  10. 使用视图: (数据量非常大的情况下)  经常被查询的列数据,并且这些数据不被经常的修改,删除。 

猜你喜欢

转载自blog.csdn.net/xiha_zhu/article/details/80093233
今日推荐