常用mysql工具或方法:explain、pt-query-digest配合慢查询日志
explain 索引匹配类型 按效率:const > eq_reg > ref > range > index > ALL
1、索引不要包含null的列
2、尽量使用短数据字段、短索引
3、不要在where子句的索引列上或在比较运算符左侧进行运算
4、在where及order by 所在的列上建立索引、考虑覆盖索引
5、where子句中避免使用<>、 !=、 not in、null 慎用in、between、like
6、使用union查询替代or,可以将联合查询限制条件下放 如a union b limit 10 => a limit 10 union b limit 10
7、合理使用limit进行结果集限定
8、使用join代替子查询
9、拆分大的delete或insert,对于复杂查询可以拆分,使用程序进行数据整合
10、少用select *
11、区分使用in和exist:子查询数据大于父(外部)查询时 用exist 反之用in