gpt4 book ai didi

mysql - MySQL 中的嵌套循环

转载 作者:可可西里 更新时间:2023-11-01 07:07:29 24 4
gpt4 key购买 nike

this O'Reilly presentation ,有一段介绍理解MySQL的EXPLAIN的一些关键概念:

What is a JOIN?

  • Everything is a JOIN, because MySQL always uses nested-loops
  • Even a single-table SELECT or a UNION or a subquery

谁能解释一下这对单个表 SELECT 是如何工作的?

最佳答案

嵌套循环是处理连接的一种方式:

for each row of table A
if this row matches where clauses
for each row of joined table B
if this row matches where clauses and join clauses
accept row
end
end
end
end

这可以通过索引进行相当多的优化,通过“针对在某个索引中的键 K 处找到的每一行”而不是“表 A 的每一行”,对表 B 也是如此。

演示文稿说这是 MySQL 进程连接的唯一方式。还有其他方法可以使用,但 MySQL 没有实现它们。这个 OraFAQ 条目给出了 Oracle 实现的几个:http://www.orafaq.com/tuningguide/join%20methods.html同样:http://oracle-online-help.blogspot.com/2007/03/nested-loops-hash-join-and-sort-merge.html

我相信“一切都是连接”只是一个实现细节。没那么重要。

关于mysql - MySQL 中的嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4694273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com