1.分组统计可以禁止排序
默认情况下,MySQL对所有GROUP BY col1,col2…的字段进行排序。如果查询包括GROUP BY,想要避免排序结果的消耗,则可以指定ORDER BY NULL禁止排序。
使用order by null前:
使用order by null后:
当然把p_year加上索引后、临时表也会消失。
2.单独使用orderby索引用不到,加上where条件或limit就能用到索引了
不加limit:
加limit:
3.count(col)不会统计col为空的列,count(*)才能统计表中的所有记录
count(col):
count(*):
4.数量大的时候为表设置一个普通索引字段如(del)字段使用tinyint,效率提升很多
4.1、没加普通索引,使用主键索引、覆盖索引查询:
4.2、加了普通索引,mysql会自动优化为使用普通索引、覆盖索引查询:
4.3、上面是key_len都为4的情况,现在我把del改为tinyint,也就是key_len变为1的情况再让大家看看: