为什么外连接通常比内连接慢?我的意思是,独立于数据库供应商。我认为这是一个实现或使用的访问计划的问题,但我无法说服我的同事,他认为性能应该是相同的。
提前谢谢你,Lluis
发布于 2010-08-12 22:20:37
inner join会消除行,而outer join不会,这会导致更多的行需要处理。
看一下可视化地描述连接的this article。请注意,与左侧和完整的outer join相比,inner join的结果集要小得多。这些图片并不代表每个场景,但它们可以让您对正在发生的事情有所了解。
发布于 2016-07-30 08:41:57
我在我的网站上遇到了性能问题,发现一个查询需要7秒才能完成。
此查询中的所有列都是数字并已编制索引(SQL Server2008 R2)
这个完整的外连接是在3个表之间,每个表有(150,350和270)千行。
我简单地将完整的外部连接替换为左连接,执行时间减少到0秒(毫秒)。
在我用几行代码进行测试之前,如果表有数千或数百万条记录,那么完整的外连接的性能将不会很好。
发布于 2010-08-12 22:14:09
通常,这是因为db引擎必须执行更多的比较操作来缩小结果集的范围。
https://stackoverflow.com/questions/3468547
复制相似问题