读书人

写SQL要学会使用quot;执行计划quot

发布时间: 2013-10-29 12:07:57 作者: rapoo

写SQL要学会使用"执行计划"

能写SQL是程序员的基本功,而能写出性能优异的SQL是优秀程序员的必备技能。

可那些性能好的SQL语句是怎么写出来的?难道他们了解数据库底层的东西吗?

其实了解数据库原理是一方面,更快捷的是借助“执行计划”(Explain Plan)来分析SQL语句执行的步骤及过程。不同的数据库,使用执行计划的方式有些不同,本篇以MySql数据库为例。

Explain语法

id

包含一组数字,表示查询中执行select子句或操作表的顺序

写SQL要学会使用

id相同,执行顺序由上至下

写SQL要学会使用

如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行

写SQL要学会使用

id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行

写SQL要学会使用

写SQL要学会使用

写SQL要学会使用

写SQL要学会使用

Extra

写SQL要学会使用

写SQL要学会使用

写SQL要学会使用

写SQL要学会使用

MySQL执行计划的局限 ?EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况?EXPLAIN不考虑各种Cache?EXPLAIN不能显示MySQL在执行查询时所作的优化工作?部分统计信息是估算的,并非精确值?EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划

读书人网 >SQL Server

热点推荐