提高SQL语句的性能

一、FROM子句中的表

  FROM子表的安排或次序对性能有很大的影响,把较小的表放在前面,把较大的表放在后面,可以得到更高的效率。

 

二、WHERE子句中的次序

  一般来自基表的字段放在结合操作的右侧,要被结合的表通常按照从小到大的次序排列

  如果没有基表的直接按照表的大小来安排条件的次序,把最小的表放在最前面。

  结合条件应该放在最前面,之后才是过滤条件

  

  根据SQL优化器读取SQL语句的次序,让最严格条件最先读取

 

三、使用LIKE操作符和通配符

  使用通配符时,如果可以的话,不要再最前端使用,因为这样会影响到索引,从而影响查询速度

 

四、避免使用OR操作符、避免使用HAVING子句、避免使用大规模排序操作

 

五、使用存储过程

  在使用存储过程时,所有的语句都是处于可执行格式,从而提高效率

 

六、在批量加载时关闭索引

  对于不断增长的数据库来说,最好定期地删除和重建索引。当索引被重建时,构建索引的物理空间数量减少了,也就减少了读取所需的磁盘I/O,用户机会很快地得到结果

提高SQL语句的性能

上一篇:MYSQL select ....outfile.....from.....


下一篇:sql UNION 同时把多个表中相同字段的内容取出来合并成为一个表