時導致不同的順序我們的迴歸過程中就遇到一個奇怪的行爲與存儲過程,其輸出大量的記錄:SQL Server 2008 R2的存儲過程輸出執行多次
存儲過程可以輸出結果以不同的順序如果在短時間內被調用超過20次,則使用相同的參數。
有人對此行爲有任何想法嗎?
由於某些原因,我們無法在存儲過程中明確指定順序。
時導致不同的順序我們的迴歸過程中就遇到一個奇怪的行爲與存儲過程,其輸出大量的記錄:SQL Server 2008 R2的存儲過程輸出執行多次
存儲過程可以輸出結果以不同的順序如果在短時間內被調用超過20次,則使用相同的參數。
有人對此行爲有任何想法嗎?
由於某些原因,我們無法在存儲過程中明確指定順序。
並行查詢計劃聽起來可能是罪魁禍首(或在不同的運行中使用不同的查詢計劃)。
如果您沒有明確訂購ORDER BY
,則不保證訂單。
您可以發佈存儲過程和查詢計劃嗎?
是的,這是由於並行查詢計劃。一個有趣的文章 - http://sqlblog.com/blogs/paul_white/archive/2011/12/23/forcing-a-parallel-query-execution-plan.aspx 存儲過程非常複雜,需要幾秒鐘正常執行,並解釋使用的平行橡樹,正如我們的測試發現的那樣 – Rex
可能的重複[爲什麼SQL查詢的結果不按照我期望的順序回來?](http://stackoverflow.com/questions/10999913/why-do-results-from-a-sql-query -not-come-the-order-the-order-i-expect) –