MySQL中非索引连接的性能

时间:2013-07-16 14:21:06

标签: mysql join indexing

假设有两个表格包含这些列

FirstName Id
Joe       3
Sarah     5

LastName  Id
Smith     5
Rodriguez 3

并假设每个表中有3000个其他名称,如果在Id上加入则会匹配。还假装Id不是主键,而只是没有索引或任何其他约束的常规整数列。

我是否正确假设没有索引的Id上的联接的性能为O(n ^ 2)? MySQL会在执行之前为此连接自动创建索引,并认识到它会有多高效吗?我认为在大多数情况下,这将是一个明显的胜利,因为O(n * log(n)+ n)(排序然后遍历每个表)将击败任何非平凡n的O(n ^ 2)。这个假设是否正确?

0 个答案:

没有答案