SQL Server 2005计算列保持不变

时间:2009-05-27 14:37:59

标签: sql-server-2005 calculated-columns

我在表中有一些计算列,需要知道是否应将Is Persisted设置为true。有什么好处?有什么缺点吗? “坚持”是什么意思?

1 个答案:

答案 0 :(得分:43)

“持久”表示在此上下文中“物理存储”。

这意味着计算值在插入时(和更新时)计算一次并存储在光盘上,因此不必在每次选择时再次计算。

持久化还会导致插入和更新时的性能下降,因为必须计算列,但会提高后续选择查询的性能。

因此,这取决于您的使用模式,遵循哪种方法:如果您不经常更新,但经常查询,则应设置persisted = true。

如果您经常更新,或者您不关心检索性能,则应考虑设置persisted = false