|
|
1
34
EXISTS子句的实际情况是SELECT子句未在EXISTS子句中求值-您可以尝试:
EXISTS子句中最重要的是FROM和beyond子句——WHERE、groupby、have等。
|
|
2
15
一般来说,如果代码提供了其他好处并且实际上不影响性能,那么编写看起来效率很低的代码时不要害怕,这一点很重要。 也就是说,优化器几乎总是执行复杂的连接/选择/分组向导,以同样的方式保存简单的EXISTS/子查询。 在给了你自己之后 kudos 这个故事的寓意是了解您的平台优化器。尝试不同的事情,看看实际在做什么,因为关于“装饰性”查询优化的猖獗下意识假设几乎总是不正确的,与我的经验无关。 |
|
|
3
7
我意识到这是一篇老文章,但我认为重要的是要澄清 人们可能会选择一种格式而不是另一种格式。 想象上的
在我发现这个“特性”之前,我曾经
写
我换了
也就是说,我可以提供一个很好的理由来避免
|
|
|
4
3
至少在SQL Server中, 可以从磁盘读取的最小数据量是一页磁盘空间。只要处理器读取一条满足子查询谓词的记录,它就可以停止。子查询不会像独立运行一样执行,然后包含在外部查询中,而是作为整个查询的完整查询计划的一部分执行。因此,当用作子查询时,Select子句中的内容实际上并不重要,外部查询不会返回任何内容,只会返回一个布尔值来指示是否找到单个记录。。。 所有三个都使用完全相同的执行计划 我总是使用[Select*From…],因为我认为它读起来更好,因为它并不意味着我希望从子查询返回某些特定的内容。
|
|
|
5
1
这是一个即将引发某种圣战的问题。 here . 我认为答案可能是使用第三种选择,但是速度的增加是如此之小,真的不值得担心。这很容易成为SQL Server可以在内部优化的查询类型,因此您可能会发现所有选项都是等效的。 |
|
6
1
这个
|
|
|
7
0
Execution Plan . 学习它,使用它,热爱它 真的,没有办法猜测。 |
|
|
8
0
这个
|
|
|
9
-4
|
|
René Hoffmann esd · 如何使用带有更新或插入的计划 8 年前 |
|
ManuelSchneid3r · SQL查询计划序列 10 年前 |
|
|
Paria Molayem · 哪个执行计划的性能更好? 11 年前 |
|
|
Registered User · 如何避免额外的内部联接来优化此查询? 13 年前 |