关于mysql执行计划 表示有问题!!
sql 和 执行计划如下:

既然执行计划中的 id 都是 1 那么执行的顺序就是从上往下执行
那么问题就来了
1,为什么优先执行的是u(用户表)表?
2,就算第一个执行的是u表,第二个怎么紧接着就是执行了ttr表 ,这两个表我压根没有做直接的关联呀,
我做的关联明明是u和train表的?
3,更奇怪的是,第三个执行tr表 而且 rows 还是 1 我明明要筛选2个人的信息,为什么只执行了一次筛选?
4,整个执行计划的顺序匪夷所思,不禁让我怀疑 ,同一个id下 真的是从上而下执行的吗?

既然执行计划中的 id 都是 1 那么执行的顺序就是从上往下执行
那么问题就来了
1,为什么优先执行的是u(用户表)表?
2,就算第一个执行的是u表,第二个怎么紧接着就是执行了ttr表 ,这两个表我压根没有做直接的关联呀,
我做的关联明明是u和train表的?
3,更奇怪的是,第三个执行tr表 而且 rows 还是 1 我明明要筛选2个人的信息,为什么只执行了一次筛选?
4,整个执行计划的顺序匪夷所思,不禁让我怀疑 ,同一个id下 真的是从上而下执行的吗?
...全文
相关推荐
MYSQL查看执行计划
MySQL中的执行计划是数据库优化的关键工具,它帮助开发者理解SQL查询如何执行,从而优化查询性能。以下是关于MySQL查看执行计划的详细说明:1.
写程序时,Mysql使用的那些事儿(附:执行计划怎么看)
针对于这种情况解决办法其实很多,例如比较简单的,就是循环之前,先把类型信息先查询出来放到内存中,然后在循环的时候直接去比对。例如上面说的支持like 'abc%'(前缀查询)这个可以用上索引,但是如果选择性特别差,例如男女这种的,索引也是用上的。ref : 这一列显示了在key列记录的索引中,表查找值所用到的列或常量,常见的有:const(常量),func,NULL,字段名(例:film.id)大家在写程序的时候,经常会遇见要循环判断一些条件,特别是在写导入逻辑的时候!3、数据库执行计划怎么看。
如何排查MySQL是否走索引
EXPLAIN是分析SQL语句执行计划的关键工具,可以查看MySQL是否使用了索引。
MySql中如何使用 explain 查询 SQL 的执行计划
首先,了解MySQL的执行计划至关重要。执行计划是数据库管理系统为了执行SQL查询而制定的一系列步骤,它包括了如何访问表、使用哪些索引、如何连接表以及预计的行数等信息。
MYSQL explain 执行计划
MySQL的`EXPLAIN`命令是数据库管理员和开发者用于分析SQL查询执行计划的重要工具。通过`EXPLAIN`,我们可以了解MySQL如何处理我们的查询,从而优化查询性能。


