暂无图片
MySQL explain 走了主键索引, extra 为什么是using where ,这个代表回表了吗?
我来答
分享
Yanhong
2022-01-04
MySQL explain 走了主键索引, extra 为什么是using where ,这个代表回表了吗?

QQ图片20220104144644.png

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
严少安
暂无图片

是的,‘Using where’说明需要回表取数据,这条sql或许需要再优化一下。

暂无图片 评论
暂无图片 有用 0
打赏 0
薛晓刚

select * 一般都会回表的。

select  主键 from t 这样会出现using index

暂无图片 评论
暂无图片 有用 0
打赏 0
chengang

我认这这里,Using where 在这里仅仅代表 使用了过滤

因为走的就是主键索引了。是不需要回表的。

暂无图片 评论
暂无图片 有用 1
打赏 0
Yanhong

还有朋友能帮忙解答一下吗?

暂无图片 评论
暂无图片 有用 0
打赏 0
严少安
2022-01-04
或者您把sql放上来,我们帮您分析一下
进击的CJR
表明使用了where过滤条件,没有太大的意义,key显示使用了主键索引,直接扫描了聚簇树,这一步是在server往innodb捞数据用的,然后在server层进一步过滤条件而已,过滤后将result返回给客户端
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql SQL怎么可以实现类型Oracle 登录触发器一样的功能?
回答 1
我觉得还是用审计比较好。不要写触发器
mysql最高每秒能插入多少条数据 ?
回答 1
已采纳
默认情况下10005000都有可能。
MySQL 库下面看不到表,但能查询,数据库版本是5.7.18
回答 2
1、看下用户权限?2、是不是做了读写分离?读的备库,主备数据不一致。
MySQL分区表二级索引是否要加入分区字段?
回答 2
主键和唯一索引必须包含所有的分区字段。Allcolumnsusedinthepartitioningexpressionforapartitionedtablemustbepartofeveryuni
mysql中的并行能再那几个层面开启?比如并行查询,并行创建索引等?
回答 1
https://dev.mysql.com/doc/refman/8.0/en/onlineddlparallelthreadconfiguration.html
MYSQL 是否有锁设置并发更新数?
回答 1
innodbthreadconcurrency,如果设置为0,则表示不限制,mysql数据库服务器会尽可能地处理请求非0的话,表示并发数,建议设置小于等于cpu核数;
在 Mysql 中 ENUM 的用法是什么?
回答 2
枚举类型。比如01这种区分度很低的。
mysql如何查看客户端的字符集?
回答 1
showvariableslike'%character%';charactersetclient的值就是客户端的字符集
mysqld启动实例命令中,添加参数 --daemonize ,主要作用是什么?
回答 1
是系统后台守护进程,表示放后台运行的意思。全称应该是daemonize[{OFF|ON},默认ON。
mysql语句是否正确? select * from table having name='aa';
回答 4
已采纳
这个肯定是正确的。having可以拿来当where使用的