1. 局限
不会考虑trigger stored function UDFS的影响
对stored procedure不起作用
统计值是估算的 很可能不准确
相同名字不同功能:filesort即表示内存排序也表示临时表排序, Using temporary即表示内存临时表也表示磁盘临时表
可能误解:index全扫描只用 small limit表示
2. type column
All:全表扫描
index:使用index的顺序全表扫描,非常昂贵;如果extra列是Using index,表示只用index中的列,性能会好很多
range:index范围扫描
ref:查询index对应的row,只返回1行
eq_ref:至多返回一个row,常用于主键、unique key查询
NULL:优化阶段就能解决查询,执行阶段不查表;比如查询某个index的最小值
possible_keys:优化早期创建,可能用到的index,后续阶段用处不大
key:那个index用于访问table
key_len:index会用的字节长度
ref:前述表中哪些常量或列用于查询key中的index
rows:为了查找到需要的row,需要读取的row的数量;
filter:估算的满足条件的row的百分比
Extra:
using index:使用covering index,不用访问表
using where:从index查出后,使用where过滤掉一部分row
Using temporary:使用temporary表排序
Using filesort:使用额外的排序,而不是index的顺序
range checked for each record:没有合适的index,join中的每一行都会估算用哪个index
转载于:https://blog.51cto.com/yingtju/774511