我有一個複雜的查詢,有許多左外部聯接。Microsoft SQL Server查詢優化基於select distinct選擇count而異優化
如果我採取查詢
select distinct top X [table1].[column1]
from ....
與過濾器情侶表,並期待在查詢計劃的顯着不同的比較:
select count(distinct [table1].column1)
from ....
我注意到的是所有的左聯接在我的聲明中,where子句或select子句中的篩選器不需要的內容由優化程序爲select distinct頂部刪除,但不適用於select count語句。
我正在使用Microsoft SQL Server 2014作爲我的引擎。
我想知道如何選擇不同刪除連接,並且是一個查詢提示,我可以提供我的選擇計數。
由於顯而易見的原因,select distinct執行得比select count好得多,我希望我的select count也可以執行。
感謝
添加您的SQL查詢 –
獲取執行計劃,將它們發佈到http://pastetheplan.com,然後在此處發佈鏈接。 – alroc