【发布时间】:2018-03-13 18:04:23
【问题描述】:
SQL Server 是否提供任何类型的内置方法来创建可缓存、可观察的视图?
“可缓存”是指在选择视图一次后,SQL Server 会针对该数据的缓存表示重定向针对该视图的后续选择,而不是重新执行基础查询。
“可观察”是指 SQL Server 将继续从缓存中选择视图结果,直到它检测到视图查询的一个基础表中存在数据更改。
【问题讨论】:
-
查询计划被缓存和重用,因此如果您在视图上运行完全相同或足够相似的查询,后续查询可能会比第一次更快地返回结果。也许这是您的问题所关注的地方,思想是物化视图,它们是另一个主题,但可以提高查询性能。
-
索引视图的行为完全符合您的要求,只是它是在创建索引时而不是在第一次 SELECT 时实现的。除此之外,SQL Server 将确保预先计算的视图结果与基础数据更改保持同步。但是索引视图的查询有很多限制。
标签: sql sql-server