优化SQL(网摘)

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

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

 2、不要使用in+子查询

     请注意,我这里并没有说不要使用in查询,假如in中的值是给定的,而不是通过select从其它表中查询取得,那么使用in关键字也无可厚非,但是假如in中的数据是通过select从其它表中查询取得的,强烈建议将其改为联合查询的方式

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


你可能感兴趣的:(优化SQL(网摘))