C语言 c++ php mysql nginx linux lnmp lamp lanmp memcache redis 面试 笔记 ppt 设计模式 问题 远程连接

mysql 查询优化规则

 

1、请不要在SELECT中使用DISTINCT; #会用到临时表


2、尽可能不要SELECT *,而应该查询需要用到的指定几个字段;


3、不要对两个大表进行联合,无论是内联或外联。对于需要对两个或多个表进行联合查询的情况,可以做两次或多次数据库查询;


4、在WHERE条件中,尽可能对同类型的数据列进行比较;


5、在WHERE条件中,尽量让有索引的数据列在比较表达始中单独出现;


6、在WHERE条件中,根据数据列排除不合条件数据量由多到少的次序排列条件,在不能确定排除数据多少的前提下,一般来说表达式中使用=、!=、<>要优先于>、<、>=、<=,更优先于LIKE;

  如果WHERE条件中的值是数字,那么不要使用单引号进行类型转换;如果WHERE条件中使用LIKE模式匹配,不要在模式开头使用通配符%;


7、不要对WHERE条件中的非BINARY属性的CHAR/VARCHAR字段,进行大小写转换;


8、尽可能不要在SELECT中使用GROUP BY,如果确实有必要,请与主管联系确认;

 

posted on 2014-03-26 16:25  思齐_  阅读(2395)  评论(0编辑  收藏  举报