我有两个表(使用SQL 2008存储)的视图,包含数百万条记录。
CREATE VIEW VwSalesAge
AS
SELECT
Transactions.ID
,Transactions.Amount
,Customer.ID
,Customer.Name
,Customer.Age
FROM Transactions
INNER JOIN Customer
ON Transactions.CustomerID=Customer.ID
现在我想使用物理表来存储这些信息,以避免扫描大型表,甚至是更小的查询,例如
SELECT *
FROM VsSalesAge
WHERE Customer.ID = 123
在性能方面哪一个是最好的方法。
- USE在两个表上更改数据捕获并识别更改和 将它们应用于新表'TbSalesAge'
- 使用物化视图而不是物理表
- 其他一些方法(请说明......)
醇>
PS:我不需要实时副本
答案 0 :(得分:0)
恕我直言,我认为最好的方法是使用索引视图。您需要使用SCHEMABINDING选项创建视图,并且对计算列,分组函数等有一些限制,但我认为这会使您获得单个整合对象,并通过您正在寻找的索引来提高性能。