下面是一个创建按小时分组的索引视图的脚本示例。我还有另外两个日日。每当使用称为CreationDate的确切DateTime时间戳向用户颁发点时,表UserPoints将存储记录。
CREATE VIEW [dbo].[HourlyPoints] WITH SCHEMABINDING AS
SELECT
[Count] = COUNT_BIG(*) --Required by
我对使用SQL Server 2016中的索引视图有点困惑。 这是我的问题。如果我有很多列的事实表,我创建了一个名为IV_Sales索引视图作为 select
year,
customer,
sum(sales)
from F_Sales
group by year, customer
我会集结为一年,客户的所有销售。 之后,当用户运行来自F_sales像 S
在创建索引视图之后,我尝试禁用基表中的所有索引,包括外键列的索引(约束仍然存在),视图的查询计划保持不变。 它就像魔术对我来说,索引视图将能够如此多的优化查询,即使没有被索引的基表。即使在视图上没有任何索引,SQL Server也能够对索引视图的主键索引执行索引扫描,以获取比使用基表快1000倍的数据。 喜欢的东西SELECT * FROM MyView WITH(NOEXPAND) WHERE