28

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

4

2 回答 2

44

在这种情况下,“持久化”意味着“物理存储”。

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

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

所以,这取决于你的使用模式,遵循哪种方法:如果你不经常更新,但查询很多,你应该设置persisted = true。

如果你更新频繁,或者你不关心检索性能,你应该考虑设置persisted = false

于 2009-05-27T14:43:01.020 回答
5

其他答案中没有提到的另一件事:计算列必须是 PERSISTED 才能从 FOREIGN KEYs 中使用。

于 2016-03-08T19:33:34.303 回答