软件在研发的过程中自始至终都在留意着系统的可扩展性。但与此同一时候也在关注着系统的性能,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后面查询条件的顺序,将尚未给定值的查询条件放到最后面。将给定的非模糊查询条件放到最前面;

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

相关文章:

  • 2021-08-28
  • 2021-07-01
  • 2021-11-10
  • 2022-02-17
  • 2021-10-09
  • 2021-06-04
  • 2021-06-02
  • 2022-12-23
猜你喜欢
  • 2022-01-28
  • 2022-12-23
  • 2021-12-05
  • 2021-11-26
  • 2021-08-08
  • 2021-09-23
相关资源
相似解决方案