SQL Server 中的相关查询与内连接性能

Bar*_*ski 5 sql sql-server

假设您要从一个表中选择在另一个表中具有对应行的所有行(另一个表中的数据并不重要,只有对应行的存在才重要)。根据我对 DB2 的了解,这种查询在编写为带有 EXISTS 子句的相关查询而不是 INNER JOIN 时性能更好。SQL Server 也是如此吗?或者说这没有什么区别吗?

Chr*_*fer 3

我刚刚运行了一个测试查询,这两个语句最终得到了完全相同的执行计划。当然,对于任何性能问题,我建议在您自己的环境中运行测试;使用 SQL Server Management Studio,这很容易(如果您运行的是 2000,则使用 SQL 查询分析器)。只需在查询窗口中输入这两个语句,然后选择查询|包括实际查询计划。然后运行查询。转到结果选项卡,您可以轻松查看计划是什么以及哪个计划的成本较高。