2013-08-27 32 views
1

當我執行TSQL查詢或默認返回大量記錄(1M +)的存儲過程時,它會在查詢仍在執行時開始顯示結果。TSQL默認阻止「FAST N」輸出

是否有辦法阻止這種情況,並推遲返回結果直到查詢執行完成?

+1

你爲什麼要這樣?它可以通過存儲在一個'#temp'表中,或者重寫查詢來獲得一個阻塞操作符,然後它將服務器內存存儲爲整個結果集。 –

+0

我認爲這可能是在我的其他問題導致問題:http://stackoverflow.com/questions/18468284/sqldatareader-does-return-all-records-3rd-attempt(也許我錯了,但它似乎.NET代碼讀取只有「快N」的結果) –

回答

1

如果您添加類似返回的數據集列,它幾乎可以肯定將無法做一個FAST(N)

.., MAX(prevColumn) OVER(PARTITON BY 1) As Dummy, ... 

哪裏prevColumn是,你已經返回任何其他列,特別是當它不是一個索引列。

+0

這樣做,謝謝。雖然結果是不需要我的其他問題:)但無論如何 –

0

您可以使用ORDER BY或SELECT中的Aggregate函數來幫助您。