代码第四行和第五行不是差不多吗
来源:7-16 【实战】 分析SQL的执行计划-[type列]续

慕的地8103524
2020-04-02
1、代码第四行和第五行不是差不多吗,
b.class_id=a.class_id
c.level_id=a.level_id
为什么b表就是eq_ref ,c表就是全表扫描,c表不也是有a.level_id来索引吗
2、为什么 第一个from imc_course a 就是全表扫描,第二个from a 就用到索引了呢,这不都执行的差不多吗
3、ID为2的为什么没有
join imc_class b on b.class_id=a.class_id
这一句就不用执行吗
好奇怪啊总觉得漏掉了什么很重要的知识点
写回答
4回答
-
慕的地8103524
提问者
2020-04-03
。。。
00 -
慕的地8103524
提问者
2020-04-03
老师三张表的具体内容都在这了
032020-04-04 -
慕的地8103524
提问者
2020-04-02
我的运行结果跟老师的不一样。。
00 -
sqlercn
2020-04-02
这要看c 表的数据分布情况,如果查询中命中了c表的大部分数据,则MySQL优化器就不会使用索引,而是用全表扫描。
同上,要看具体的数据分布和查询条件
你看一下两个表的数据,看看 class_id相同的值里是否包括那条数据?
032020-04-03
相似问题