MYSQL利用explain检验sql语句

1、作用:

用于获取查询执行计划(即MySQL如何执行查询的解释)

2、用法:

explain + sql语句,
例如:
有数据库管理工具的,如Navicat,直接新建查询,在查询里执行语句,如:
在这里插入图片描述
或者运行命令,如:在这里插入图片描述

3,分析返回的数据

在这里插入图片描述
ref: 体现"性能"的关键字段,性能由高到低,如下:
system > const > eq_ref > ref > range > index > all,至少达到range(具体情况具体分析,一般是这样的),all,就是查全表。

possible_keys: 可能用到的这张表的索引
key: 实际用到的索引
rows: 需要查询的行数
filtered: 目标数据行数占需要查询行数的比例(预估的,可能一个符合条件的数据都没有),目标数据行数 = rows x filtered%,如:目标数据行数 = 14502 x 33.33%
extra: 表明使用了什么查询,Using index(用表里面的索引了)、Using where(用了where过滤)这些ok,
但是如果是Using filesort(用了外部索引,就是按文件找)、Using temporary(用了临时表)建议再优化优化。
其他字段感兴趣自己查去吧~~

4,mysql优化语句,操作如下:

在这里插入图片描述
就是在命令界面,explain完了之后,再show warnings;

附:官方链接: https://dev.mysql.com/doc/refman/5.7/en/explain.html.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值