mysql Explain

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

你可能感兴趣的:(mysql,mysql,数据库,职场,EXPLAIN,休闲)