3

我想了解在SQL Server存儲過程使用的地方臨時表視圖性能優點/缺點。查看Vs的臨時表或臨時變量在SQL服務器

我知道兩者之間的差異(如臨時表可以給陳舊的數據,等等),但我能[不]找到性能的角度來看任何地方的任何信息。除非你有企業版

+0

爲什麼不對其進行測試,看看?沒有人能準確地告訴你在你的情況下的表現。構建對象,加載代表性數據,用儀器模擬查詢模式。瞧! – 2011-03-29 15:37:28

回答

3

意見不會給更高的性能和您的視圖可以按照規則的索引視圖。調用其他視圖的視圖會導致嚴重的性能問題。臨時表的確有過時的數據,但是對於proc中有多個操作的事務來說,這是一件好事,因爲所有操作都是針對同一組數據操作的。這導致更少的數據完整性問題。在較小的數據集中,表變量比臨時表要快,但臨時表往往對較大的集更好,尤其是因爲它們可以被索引。如同所有的性能調整時,根據您具體的硬件和數據庫設計上的差異,因此,如果您關心性能(你應該),那麼你需要測試的各種選項,看HWAT最適合您的特定實例。

+0

感謝您的回覆,但是您能否詳細闡述「視圖不會提供改進的性能,除非您擁有企業版,並且您的視圖可以遵循索引視圖的規則」 – Abhi9 2011-03-29 13:59:07

+0

您可以使用'noexpand'提示,以便使用索引視圖其他版本。我確實在SO上看到一個問題,表明SQL Server 2008 R2已不再是這種情況,但我自己也不確定。 – 2011-03-29 14:05:19

+0

@ Abhi9,您需要閱讀聯機叢書中有關索引的視圖,對於視圖是否可以編制索引,存在一組冗長而複雜的規則。 – HLGEM 2011-03-29 14:20:17