1.选择列,select *会进行全字段扫描,效率低,因此尽量指定字段
2.where condition1 and condition2,where条件字句的解析顺序:从右到左;因此对于and,应该尽量把假的放在右边,对于or,应该尽量把真的放在右边
3.一般根据需求来选择,如果将函数放在字段上,会为每行的该字段进行转换,效率会比较低一些;建议将转换函数放在固定值上面(好处之一就是只需要转换一次,还有一个好处就是不知道用户输入的是大小写还是混合写,更适合业务)
4.使用having字句进行过滤,是先进行分组再过滤,分组的时候是全表扫描的,效率比较低
使用where字句进行过滤,是先进行过滤再分组,分组的时候是仅仅扫描部分数据,效率比较高
5.count(1)比count(*)的查询效率高
6.使用表名前缀可以提高执行效率–sql性能优化方案
7.使用索引可以增加查询的效率(索引有时也会失效,条件上使用用<>,like和‘%aa%’)