写SQL要学会使用"执行计划"
能写SQL是程序员的基本功,而能写出性能优异的SQL是优秀程序员的必备技能。
可那些性能好的SQL语句是怎么写出来的?难道他们了解数据库底层的东西吗?
其实了解数据库原理是一方面,更快捷的是借助“执行计划”(Explain Plan)来分析SQL语句执行的步骤及过程。不同的数据库,使用执行计划的方式有些不同,本篇以MySql数据库为例。
Explain语法id
包含一组数字,表示查询中执行select子句或操作表的顺序
id相同,执行顺序由上至下
如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行
id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行
Extra