分析查询
想要对一条查询语句进行优化,首先要对其进行分析,MySQL提供了这个机制, 可以通过explain sql 或者desc sql的语法去获取MySQL对某一条语句的执行计划(MySQL优化之后的...查询优化
对一条sql的优化可以分为两部分,第一部分是对语句的优化,比如将子查询改写为join等,第二部分是与索引相关的优化,在这一阶段可能会修改语句以让查询尽可能的命中索引,甚至会通过修改索引来达到这个目的...无法命中索引的一些操作
查询条件中使用不等于操作符!=
非前缀使用like like '%gaga%'.
or操作符必须每个字段都建立索引
where语句中有数学运算或者函数....重构语句
拆分复杂查询
当一个语句太过于复杂的时候,我们总是难以掌握它的性能,因此我们可以将一个复杂的查询拆分成多个查询,然后在应用程序中进行关联....改写子查询
子查询想必关联查询,性能一般是较差的,因此可以将子查询改为关联表查询.