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