ToB企服应用市场:ToB评测及商务社交产业平台
标题:
我们来学mysql -- EXPLAIN之ID(原理篇)
[打印本页]
作者:
泉缘泉
时间:
2024-11-8 19:14
标题:
我们来学mysql -- EXPLAIN之ID(原理篇)
题记
2024美国大选已定,川普剑登上铁王座,在此过程中出策划策的幕僚很重要,是他们决定了终极的
执行计划
在《查询成本之索引选择》中提到,explain的输出,就是
优化器
(幕僚)选择的
执行计划
除了SELECT开头的查询,DELETE、INSERT、UPDATE也都有执行计划,这里只关注SELECT
从输出的计划中可见很多字段,传达了什么样的信息,先从ID开始
ID
为每一个select分配唯一的ID
单表查询
EXPLAIN select * from ucoding where k1 = 'Td621'
多表连接查询
EXPLAIN select * from ucoding u1 JOIN icoding on k1 = i_k1 where mark = 'Td621'
欸!快看,明明只一个select,有两个
执行计划
,哈哈哈…
咱来解释下,首先这依然是当前select的执行计划,和记录数无关,难道去做大保健只是洗个脚吗,洗脚只是计划中的一个步骤
在
连接查询语句
,每个表都有条记录,
神如
innodb,TA也得挨个表处理是不!
再有,在
连接查询语句
,有
驱动表
和
被驱动表
时,id相同
涉及多个select(子查询)
EXPLAIN select * from ucoding where k1 in (SELECT i_k1 from icoding ) or k3 = 'a'
涉及多个select(union)
EXPLAIN select * from ucoding where k3 ='tt' union select * from icoding where i_k3 ='tt'
id = null ,表示为临时表,因为 union需要去重, union all不需要去重,就没有临时表
``
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4