sql以及hql的使用很简单,但是想要用好,提高查询效率却需要优化,下面分享几条优化方法。
1.首先从表说起,
(1)在建立表的时候,要对那些需要经常查询的字段建立索引,提高查询速度。
(2)对于字段比较多的大表,进行拆分,将经常需要查询的字段放在一张表中,其余字段放在其他表中。
(3)将经常需要联合查询的字段,建立一个中间表,以后查询就去中间表中查询那些字段
2.从SQL语句优化
(1)sql语句中IN包含的值不应过多
(2)select语句务必指明要查询的名称
(3)当只需要显示一部分数据的时候,使用limit语句
(4)如果排序字段没有索引就尽量少排序
(5)如果限制条件中其他字段没有索引,尽量少用or
(6)尽量用union all代替union
(7)使用合理的分页方式以提高分页效率
(8)避免在where子句中对字段进行null判断
(9)不建议使用%前缀模糊查询(如like %me),这种查询会导致索引失效而进行全表扫描,但是可以用like “name%”
(10)避免在where子句中对字段进行表达式操作
关于join的优化
(1)尽量使用inner join,避免left join
(2)利用小表驱动大表
(3)合理利用索引,被驱动表的索引字段作为on的限制字段