我在表中有一些計算列,需要知道是否應該將Is Persisted設置爲true。有什麼優勢?有什麼缺點嗎? 「堅持」是什麼意思?SQL Server 2005計算列被堅持
23
A
回答
40
「堅持」意味着「物理存儲」在這種情況下。
這意味着計算值在插入(和更新)時計算一次並存儲在光盤上,所以不必在每次選擇時再次計算。
由於必須計算列,所以在插入和更新時,持久性還會導致性能損失,但會增加後續選擇查詢的性能。
所以,它取決於你的使用模式,以下哪種方法:如果你不經常更新,但是查詢很多,你應該設置persisted = true。
如果您經常更新,或者如果你不關心檢索性能,你應該考慮設置堅持=假
3
還有一件事在其他的答案沒有提到:計算列必須堅持以外國可用鍵。
相關問題
- 1. 堅持在SQL Server中計算datetime列2005
- 2. SQL Server:持久計算列
- 3. 計算總在SQL Server總列的2005
- 4. SQL Server計算列
- 5. SQL Server 2005查詢 - 計算總和
- 6. SQL Server 2005計算 - 十進制截斷?
- 7. SQL Server 2005審計
- 8. SQL Server 2005支持未知列數
- 9. SQL Server 2005,計數總計
- 10. 支持SQL Server 2005和2008
- 11. SQL Server 2012計算列
- 12. SQL Server參考計算列
- 13. SQL Server 2008中 - 計算列
- 14. SQL Server - 計算日期列
- 15. SQL Server計算列修整
- 16. 使用SQL Server計算列
- 17. SQL Server改變計算列
- 18. SQL Server 2005-數據計數
- 19. SQL Server 2005作業計劃
- 20. SQL Server 2005更改審計
- 21. SQL Server查找所有計算列和非持久列
- 22. 計算被四捨五入SQL Server 2012
- 23. 計算運行總計運行在SQL Server 2005
- 24. 計算SQL Server 2005中的統計模式
- 25. 創建SQL Server中一個計算持久化的列被用作主鍵
- 26. SQL Server 2005 - 使用IDENTITY列
- 27. SQL Server 2005 - 列到行
- 28. 在SQL Server Management Studio中標記持久計算列NOT NULL
- 29. Teradata等效於持久計算列(在SQL Server中)
- 30. SQL Server:非持久計算列的好處vs視圖