2010-06-02 143 views
2

是否SQL數據執行計劃

SELECT TOP 1000 * FROM TABLE

返回相同的數據執行計劃以

SELECT * FROM TABLE

請讓我知道這是否應該移動到ServerFault。

謝謝。

+0

您給出的查詢的查詢計劃將變得微不足道,優化器無法做任何事情。你的實際查詢比這更復雜嗎?你插入到另一個表或什麼東西,因爲可能有優化的範圍。 – 2010-06-02 14:16:18

+0

@Martin - 所有的腳本都在4到7之間。我會玩一點TOP。 – Jim 2010-06-02 14:40:00

+0

啊我看到我以爲還有比這更多的東西! – 2010-06-02 14:48:30

回答

0

你可以自己檢查一下。在SSMS中,轉到查詢 - >包括實際執行計劃

然後運行您的查詢。

例如當我運行時:

SELECT TOP 10 * FROM sys.tables 
SELECT * FROM sys.tables 

他們返回不同的執行計劃。

+0

雖然對於單個表格(而不是視圖),但我無法想象會是這樣。 – 2010-06-02 14:07:50

+0

我的時間緊迫,查詢可能會運行8小時以上。所以我正在尋找一種解決方法。 – Jim 2010-06-02 14:07:53

+0

@Jim - 您也可以查看估計的查詢計劃。 – 2010-06-02 14:09:12