mysql中执行计划的各个意思

partitions
和分区表有关,一般情况下我们的查询语句的执行计划的partitions列的值都是NULL

type
执行计划的一条记录就代表着MySQL对某个表的执行查询时的访问方法/访问类型,其中的type列就表明了这个访问方法/访问类型是个什么东西,是较为重要的一个指标,结果值从最好到最坏依次是
system > const > eg ref > ref > fulltexti > ref or null > index merge >unique subquery > index subquery > range > index > ALL出现比较多的是system>const>eg ref>ref>range>index>ALL,一般来说,得保证查询至少达到range级别,最好能达到ref。

explain select * from dept_copy1 where loc = "100000";

当loc有二级索引的时候,type类型通常都是ref级别

system通常是系统表的级别

range指的一般是范围查询

possible keys与key
possible keys列表示在某个查询语句中,对某个表执行单表查询时可能用到的索引有哪些,key列表示实际用到的索引有哪些,如果为NULL,则没有使用索引

key_len
key_len列表示当优化器决定使用某个索引执行查询时,该索引记录的最大长度(作用是当你用到的是联合索引的时候,key只显示使用的索引名字,不显示你使用到的是哪个具体的字段,这时候就可以根据这个长度去分析了)

ref
当使用索引列等值匹配的条件去执行查询时,也就是在访问方法是const、eq_ref、ref、ref_or_null、unique sutbquery、index subquery其中之一时,ref列展示的就是与索引列作等值匹配的是谁 

rows

查询优化器预测这条sql查询时扫描的行数,并不代表完全准确,预测而已(仅供参考)

filtered

explain select * from dept_copy1 where id >5890 and loc ="9";

就是比如在这条sql中rows扫描的行数是5000条,那么filtered中的数值是预估扫描行数中可能有百分之?满足剩余的搜索条件(这里是loc=“9”)但是并不代表一定是百分之?的数据,只是预测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值