Inner Join是否存在任何性能问题?

8 sql sql-server stored-procedures join

目前我在sp中使用了很多内连接(大约7个),它对sp性能有什么影响.左外连接比内连接提供更好的性能.

还有一件事,如果我加入两个表a和b有列id和id1,两个r都不可为空.我想在这里我可以去内部联接,因为这些列被索引.

Gle*_*enn 10

外连接比内连接更昂贵.我要说的是对许多人来说会引起争议.如果你正确调整数据库,如果你没有做任何愚蠢的事情,如果你使用专业的力量RDBMS,那么7个内连接应该不是问题.

数据库调优是什么意思?数据库调优有很多,但要检查的最明显的事情是确保始终连接已编制索引的列.

高飞是什么意思?不要在连接条件中使用OR运算符.尝试将连接保持在单个比较上,例如一个表中的外键等于另一个表中的主键.尝试将所有关键字段保存为整数.

如果遇到性能问题,请务必研究违规查询的执行计划.例如,在加入非常大的表时可能会遇到问题,即使索引扫描太慢也会很大.您可能必须进行非规范化并提供额外的过滤以减少扫描时间.不要试图预料到这一点.非规范化最好几乎不会在你遇到真实世界的表现情况之后完成.


rah*_*hul 0

首先,这两者有不同的目的。因此,比较可能并非在所有情况下都有效。

你可以在这里阅读更多。

SQL Server 连接性能调整