计算列加不加persisted的区别

yubofighting 2011-07-14 03:12:56
计算列加不加persisted的区别,除了物理化以外还有什么区别

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

我更改a或b时,不管是加persisted还是不加persisted,都会时时更新的
...全文
269 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanlaqin 2013-03-05
  • 打赏
  • 举报
回复
奇怪了, 我的计算列结果不能立即更新到dbgrid中去呢?请教~
yubofighting 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 roy_88 的回复:]
這是定義計算資料行值的運算式。計算資料行是一個虛擬資料行,除非資料行標示了 PERSISTED,否則,並未實際儲存在資料表中。這個資料行是從使用相同資料表之其他資料行的運算式得出的。例如,計算資料行可能會有定義如下:cost AS price * qty。這個運算式可以是非計算的資料行名稱、常數、函數、變數,以及一或多個運算子所連接的這些項目的任何組合。這個運算式不能是子查詢,也不能包含別名資料類……
[/Quote]

繁体看着好累,不过还是谢谢

最近在看sql2008 实战,看到这有点疑惑,所以问下
中国风 2011-07-15
  • 打赏
  • 举报
回复
這是定義計算資料行值的運算式。計算資料行是一個虛擬資料行,除非資料行標示了 PERSISTED,否則,並未實際儲存在資料表中。這個資料行是從使用相同資料表之其他資料行的運算式得出的。例如,計算資料行可能會有定義如下:cost AS price * qty。這個運算式可以是非計算的資料行名稱、常數、函數、變數,以及一或多個運算子所連接的這些項目的任何組合。這個運算式不能是子查詢,也不能包含別名資料類型。

PERSISTED
指定 SQL Server Database Engine 實際儲存資料表中的計算值,以及在計算資料行所依賴的任何其他資料行有了更新時更新值。將計算資料行標示為 PERSISTED,可讓您在具決定性但不精確的計算資料行上建立索引。
--小F-- 2011-07-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 maco_wang 的回复:]
用作已分区表的分区依据列的所有计算列都必须显式标记为 PERSISTED
[/Quote]
正确
叶子 2011-07-14
  • 打赏
  • 举报
回复
用作已分区表的分区依据列的所有计算列都必须显式标记为 PERSISTED
yubofighting 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 orchidcat 的回复:]
引用楼主 yubofighting 的回复:
计算列加不加persisted的区别,除了物理化以外还有什么区别

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

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


设置Persisted 可以在计算列上创建索引
[/Quote]

是的,这是一点
Mr_Nice 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 yubofighting 的回复:]
计算列加不加persisted的区别,除了物理化以外还有什么区别

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

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

设置Persisted 可以在计算列上创建索引
bancxc 2011-07-14
  • 打赏
  • 举报
回复
时时更新是肯定的

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧