码迷,mamicode.com
首页 > 数据库 > 详细

sql优化-项目实战

时间:2016-09-18 21:16:22      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:优化   sql优化   项目执行   

    项目中sql优化是提高项目执行效率的有效方式之一。如果你是程序员,使用好的sql不仅使得项目执行效率的提升,更是一个人技术能力的体现;如果你是项目管理者,检查程序员的sql是否是一个优质的sql至关重要,那么sql到底如何优化呢?


    SQL优化方案:

1. sql中索引的使用技巧:

  (1) 对于多列索引(复合索引),sql查询条件只有使用了最左边的列,索引才会生效。

技术分享

   

   (2) 对于like模糊查询,模糊匹配的字符串最前面禁止使用%、_等模糊匹配器的字符,否则索引将失效,如果最前面必须要用到模糊匹配,建议一般采用全文索引技术(sphinx(coresseek))。

    

   (3) sql条件中有or关键字,or两边的条件必须都为索引(如果是组合索引,必须是第一个),否则索引全部无效。一般情况,能避免关键字or,就尽量避免使用。

技术分享

  

   (4) sql条件中如果有字段是字符串类型的字段,一定要用单引号或双引号引起来,否则索引无效。

技术分享


2. group by使用优化:

  在使用 group by 分组查询时,默认分组后还会自动排序,从而可能降低查询效率。

优化 : group by后面添加order by null。


技术分享



3.连接代替子查询和关联查询:

一般情况下,用连接(join)代替子查询和关联查询,因为使用join, mysql不需要在内存中创建临时表。

   SELECT * FROM tb_user_goods g,tb_shop s WHERE g.fk_shop_id=s.id;(普通)  

      SELECT * FROM tb_user_goods g INNER JOIN tb_shop s ON g.fk_shop_id=s.id;(更优) 























本文出自 “姚午生的技术博客” 博客,转载请与作者联系!

sql优化-项目实战

标签:优化   sql优化   项目执行   

原文地址:http://yaowusheng.blog.51cto.com/11020801/1853797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!