我的包含calcIncome
计算列的表:
CREATE TABLE foo
(
id int,
name varchar(100),
[other columns],
calcIncome AS dbo.fn_calcIncome() PERSISTED NOT NULL
)
-你在说什么?
select *
from foo
where calcIncome > 100
即使我将calcIncome
设置为PERSISTED
,该查询仍然为每一行调用fn_calcIncome
.
那么,如果计算列的行为与非持久化计算列相同,那么将计算列设置为PERSISTED
的目的究竟是什么呢?