索引where和排序冲突的时候,改成关联表方式或者子查询
走索引不一定都快,区分度不够的索引可用考虑用复合索引
join 时要考虑类型一致,char型要考虑字符集一致,时间类型没走索引,要注意隐世转换
select in 会被改写为exists,造成查询缓慢,可改成关联join查询
驱动表的选择,认清关联字段索引,可用straight_join验证猜想
query cache并不适合更新,插入,删除非常大的应用
group by,order by 只涉及表中一个列
order by +limit 将limit,order by内嵌,限制join数量和保证index排序
not in或not exits 可转换为外连接或等值连接
某些情况下 or 可用用union all 或union 代替