1. 创建并使用索引查询数据,直接使用索引列查询,而不要对索引列做其他运算,否则索引失效。
2. 使用join代替子查询,子查询有个创建和删除临时表的过程,比较影响性能和效率。
3. 用where子句代替having子句
where先过滤行,having对行分组后进行过滤,减少分组的行数,可以更快地分组。
4. in (小数据量), exists(大数据量),not exists 代替 not in(内外全表扫描,不走索引)