mysql的sql执行详情_mysql --sql执行语句的详情

使用EXPLAIN 函数可以清楚的查看语句的执行情况

EXPLAIN

select id from b_nc_card where id!= 10000;

739c003564a4f9eff20c271300a6e9a2.png

一共查询了:530912 行

优化后

EXPLAIN

(select id from b_nc_card where id> 10000)

union all

(select id from b_nc_card where id< 10000 and id > 0)1 SIMPLE b_nc_card range PRIMARY PRIMARY 4 530912 100.00 Using where; Using index

894c6e39bb83e12513bbe45ea20b811c.png

一共查询了:511856  +  19032  = 530888  行

概要描述:

id:选择标识符

select_type:表示查询的类型。

table:输出结果集的表

partitions:匹配的分区

type:表示表的连接类型

possible_keys:表示查询时,可能使用的索引

key:表示实际使用的索引

key_len:索引字段的长度

ref:列与索引的比较

rows:扫描出的行数(估算的行数)

filtered:按表条件过滤的行百分比

Extra:执行情况的描述和说明 Using where; Using index(出现这个说明是最优解)

注: 主要关注的是,type 和 key

type = ALL :表示全表扫描

type = const :表示通过索引一次就找到了

type = ref:对于每个来自于前面的表的行组合,所有有匹配索引值的行将从这张表中读取。

type = index:该联接类型与ALL相同,除了只有索引树被扫描。这通常比ALL快,因为索引文件通常比数据文件小。

type = range:只检索给定范围的行,使用一个索引来选择行。

key = NULL:表示没有使用索引

key = primary :表示使用了主键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值