SQL 服务器持久计算列与实际(正常)列

SQL Server Persisted computed columns versus actual (normal) column

我对持久计算列与实际(正常)列有疑问。

我认为计算列的用途主要是不物理存储值。但是,当它持续存在时,与 table 中的普通列相比,优缺点是什么?

您可以将持久化计算列视为具有缓存的计算列,它可以节省您每次查询时计算结果所需的资源。

与普通列相比的主要优点是您不需要自己管理它们(在初始定义之后)。对于普通列,您必须确保在每次插入或更新时都正确计算了它的值,并确保它不能直接自行更新。使用持久计算列,数据库会为您完成繁重的工作。