数据库优化总结

针对近期工作中涉及到sql语句的调优,在此做了一些总结,具体内容如下

sql的性能优化,主要是通过以下方面来体现:

1、尽量使用列名来代替*,用到多少,获取并返回相应字段,可以有效的减少资源浪费

2、由于where的解析顺序是从下往上、从右向左的,所以能过滤掉大量数据的查询条件可以尽可能的放在查询条件的末尾;针对and的时候,多把假的条件放在右边 ,针对Or的时候,多

把真的放在右边;  多用where,少用having分组,先过滤再分组,能加快查询效率,但是当查询条件中有分组函数时,只能用having   

3、 如果多表查询和子查询都能够查询数据时,尽量使用多表查询代替子查询

4、sql语句中尽量使用绑定变量,这样可以重复使用服务器高速缓存中的同一个执行计划,减少资源的浪费

5、尽量少使用模糊查询,如果非要使用的话,多使用 like ’aa%‘

6、过滤条件差别大的放在前面,差别小的放在后面,可以有效的避免全表检索

7、子查询中尽量不用group by,如果非用不可的话,可以考虑使用rownum,可以通过多次使用自查表来解决TOP-N问题

8、避免在索引上使用函数计算,否则索引就会失效

参考链接:https://blog.csdn.net/yzllz001/article/details/54848513