簡単なクエリで、DistinctとGroupByのパフォーマンスと実行計画はほぼ同じであることがわかります。
例えば
SELECT Name FROM NamesTable GROUP BY Name
SELECT DISTINCT Name FROM NamesTable
しかし、いくつかのシナリオでは、サブクエリなどでパフォーマンスが異なることを読みましたか?
では、いくつかの例を作成したり、パフォーマンスが異なるいくつかのシナリオを説明したりできますか?
どうもありがとう
簡単なクエリで、DistinctとGroupByのパフォーマンスと実行計画はほぼ同じであることがわかります。
例えば
SELECT Name FROM NamesTable GROUP BY Name
SELECT DISTINCT Name FROM NamesTable
しかし、いくつかのシナリオでは、サブクエリなどでパフォーマンスが異なることを読みましたか?
では、いくつかの例を作成したり、パフォーマンスが異なるいくつかのシナリオを説明したりできますか?
どうもありがとう
フィールド リストに計算値を含めると、実行計画に違いが見られます。
select Value,
getdate()
from YourTable
group by UnitID
select distinct
Value,
getdate()
from YourTable
クエリはgroup by
、スカラー値を計算する前に集計します。クエリはdistinct
、集計の前にスカラー値を計算します。
これは2つの例です。1つは異なる結果を生成するためのもので、もう1つは異なるパフォーマンスのためのものです。
そして2番目の例: