假设有两个表格包含这些列
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)。这个假设是否正确?