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

提高系统性能——对SQL语句优化的思考

时间:2017-07-20 16:27:30      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:font   右连接   tracking   where   连接   net   查询方式   内连接   扩展性   

      软件在研发的过程中自始至终都在留意着系统的可扩展性。但与此同一时候也在关注着系统的性能,SQL语句作为系统性能的一环不容忽视。从今天開始结合开发的经验,谈一下我对SQL语句优化的理解和认知:

     1、在联合查询语句中做到小表驱动大表:

     联合查询是经常使用到的一种查询方式,左连接、右连接、内连接等等时不时地被应用在查询语句中,然而在这一过程中假设能判明各表的数据量,那就再好只是了,在这样的情况下from后面应该紧跟数据量小的表。为什么?呵呵呵,比方a表有1000条数据,b表有20条数据。使用左连接进行联合查询假设a表驱动b表,那么b表就要被訪问1000次,但假设b表驱动a表,a仅仅要被訪问20次,其性能可想而知。

     2、不要使用in+子查询

     请注意,我这里并没有说不要使用in查询,假如in中的值是给定的。而不是通过select从其他表中查询取得,那么使用inkeyword也无可厚非,可是假如in中的数据是通过select从其他表中查询取得的,强烈建议将其改为联合查询的方式,详细方法请參看博客《SQL语句优化——in,not in,exists,not exists, left join...on》.

     3、注意wherekeyword后面查询条件的顺序,将尚未给定值的查询条件放到最后面。将给定的非模糊查询条件放到最前面;

        本博客持续更新中。敬请期待。

提高系统性能——对SQL语句优化的思考

标签:font   右连接   tracking   where   连接   net   查询方式   内连接   扩展性   

原文地址:http://www.cnblogs.com/mthoutai/p/7211819.html

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