物化视图还是CDC?

时间:2010-02-15 11:46:29

标签: sql performance sql-server-2008 materialized-views change-data-capture

我有两个表(使用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

在性能方面哪一个是最好的方法。

  
      
  1. USE在两个表上更改数据捕获并识别更改和   将它们应用于新表'TbSalesAge'
  2.   
  3. 使用物化视图而不是物理表
  4.   
  5. 其他一些方法(请说明......)
  6.   

PS:我不需要实时副本

1 个答案:

答案 0 :(得分:0)

恕我直言,我认为最好的方法是使用索引视图。您需要使用SCHEMABINDING选项创建视图,并且对计算列,分组函数等有一些限制,但我认为这会使您获得单个整合对象,并通过您正在寻找的索引来提高性能。