日期:2014-05-17  浏览次数:20659 次

计算列加不加persisted的区别
计算列加不加persisted的区别,除了物理化以外还有什么区别

我更新计算列中字段时,如计算列suma as a/b

我更改a或b时,不管是加persisted还是不加persisted,都会时时更新的

------解决方案--------------------
引用:
计算列加不加persisted的区别,除了物理化以外还有什么区别

我更新计算列中字段时,如计算列suma as a/b

我更改a或b时,不管是加persisted还是不加persisted,都会时时更新的


设置Persisted 可以在计算列上创建索引
------解决方案--------------------
用作已分区表的分区依据列的所有计算列都必须显式标记为 PERSISTED
------解决方案--------------------
引用:
用作已分区表的分区依据列的所有计算列都必须显式标记为 PERSISTED

正确
------解决方案--------------------
本帖最后由 roy_88 于 2011-07-15 09:46:56 编辑
這是定義計算資料行值的運算式。計算資料行是一個虛擬資料行,除非資料行標示了 PERSISTED,否則,並未實際儲存在資料表中。這個資料行是從使用相同資料表之其他資料行的運算式得出的。例如,計算資料行可能會有定義如下:cost AS price * qty。這個運算式可以是非計算的資料行名稱、常數、函數、變數,以及一或多個運算子所連接的這些項目的任何組合。這個運算式不能是子查詢,也不能包含別名資料類型。

PERSISTED 
指定 SQL Server Database Engine 實際儲存資料表中的計算值,以及在計算資料行所依賴的任何其他資料行有了更新時更新值。將計算資料行標示為 PERSISTED,可讓您在具決定性但不精確的計算資料行上建立索引。