評估值的持久列是否有可能在Sql Server(2008,R2)中使用由查詢其他表的標量函數產生的值構成持久列? 我遇到性能問題,因爲我有一個應該評估考慮來自其他表的值的字段。 我邏輯地解決了創建(索引)視圖和使用CASE WHEN評估字段的問題,但現在我遇到了大量數據的性能問題。SQL Server從函數
我的想法是評估一個函數中的CASE WHEN,並將它用作主表中的持久列。 這可能嗎?視圖中的更改是否會觸發值的更新?
你能否給我建議替代解決方案(觸發器除外)?
感謝
評估值的持久列是否有可能在Sql Server(2008,R2)中使用由查詢其他表的標量函數產生的值構成持久列? 我遇到性能問題,因爲我有一個應該評估考慮來自其他表的值的字段。 我邏輯地解決了創建(索引)視圖和使用CASE WHEN評估字段的問題,但現在我遇到了大量數據的性能問題。SQL Server從函數
我的想法是評估一個函數中的CASE WHEN,並將它用作主表中的持久列。 這可能嗎?視圖中的更改是否會觸發值的更新?
你能否給我建議替代解決方案(觸發器除外)?
感謝
即使是可能的,但幾乎可以肯定是一個壞主意。
觸發器是有原因的,這是一個理想的例子。你爲什麼不想使用它們?
過去,我在更新期間遇到了性能問題。但可能它只是解決問題,所以我會嘗試使用觸發器。 謝謝 – fra 2012-07-30 09:24:12
這是不可能的。持久計算列需要確定性,不能依賴其他表中的數據。 – 2012-07-30 09:17:49
感謝您的貢獻。 – fra 2012-07-30 09:25:31