在执行select查询时,表自连接的性能与两个不同表之间的连接相比如何?例如,如果表A和表B是完全重复的(结构和数据),则最好:
select ... from tableA a inner join tableA b...

select ... from tableA a inner join tableB b...

或许这不是一个直截了当的答案,在这种情况下,有没有关于这个话题的参考文献?
我正在使用MySql。
谢谢!

最佳答案

假设表B是表A的精确副本,并且创建了所有必需的索引,那么表A的自连接应该比表B与A的连接快一点,因为表A及其索引中的数据可以从缓存中重用以执行自连接(这也可能隐式地为自连接提供更多内存,更多的行将放入工作缓冲区)。
如果表B不相同,则无法进行比较。

关于mysql - 表自我联接的SQL性能损失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14336298/

10-14 00:33