关于mysql索引explain时候extra的问题

发布于 2022-09-11 20:16:55 字数 659 浏览 25 评论 0

CREATE TABLE `teacher_card` (
 `tcid` int(3) NOT NULL,
 `tcdesc` varchar(20) NOT NULL,
 PRIMARY KEY (`tcid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `teacher` (
 `tid` int(3) NOT NULL,
 `tname` varchar(20) NOT NULL,
 `tcid` int(3) NOT NULL,
 PRIMARY KEY (`tid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

tname索引:

alter table teacher add index a (tname)

执行 explain SELECT * FROM teacher WHERE tname = "张三" extra为空
执行 explain SELECT * FROM teacher WHERE tname = "张三" order by tcid
extra 为 Using index condition; Using filesort
我的疑问是:为什么第一条执行的时候不是Using index condition?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好菇凉咱不稀罕他 2022-09-18 20:16:55

Using index condition是索引下推,你的查询并没有索引下推这一种操作,只是简单利用索引定位到tname="张三",然后就回表了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文