Jam*_*man 56 sql t-sql sql-server performance sql-server-2005
我一直在研究在一系列程序上改进性能,最近一位同事提到他在使用INNER JOIN代替EXISTS时已经取得了显着的性能提升.
作为调查的一部分,为什么这可能是我想我会问这里的问题.
所以:
实际上,人们可以对这个问题提出任何其他经验.
如果有任何答案可以在没有任何其他可能的性能改进建议的情况下专门解决这个问 我们已经取得了相当程度的成功,我只对这一项感兴趣.
任何帮助将非常感激.
Qua*_*noi 55
一般来说,INNER JOIN并且EXISTS是不同的东西.
前者返回两个表中的重复项和列,后者返回一个记录,并且作为谓词,仅从一个表返回记录.
如果对UNIQUE列执行内部联接,则它们表现出相同的性能.
如果你在应用的记录集上进行内连接DISTINCT(去掉重复项),EXISTS通常会更快.
IN和EXISTS子句(具有等值相关性)通常采用几种SEMI JOIN算法中的一种,这些算法通常比DISTINCT其中一种表更有效.
在我的博客中看到这篇文章:
| 归档时间: |
|
| 查看次数: |
39692 次 |
| 最近记录: |