我在本地服务器上创建了一个视图,它从链接服务器获取数据。在链接上我只有读取权限。
我正在尝试提高视图的性能,我尝试使用SCHEMABINDING创建视图,但不允许在远程访问时使用SCHEMABINDING。我尝试阅读物化视图,是的我知道它是Oracle中的一个函数,但想知道SQL Server 2008 r2中是否存在类似内容。
有关如何提高查询性能的任何想法?
CREATE VIEW [dbo].[vw_CustomerServiceLevel]
AS
SELECT *
FROM [10.205.0.70].Freightware.dbo.CustomerServiceLevelReportEOF RF
INNER JOIN [10.205.0.70].Freightware.dbo.CustomerServiceLevelReportDetail RD
ON (RD.HeaderGUID=RF.HeaderGUID)
INNER JOIN [10.205.0.70].Freightware.dbo.CustomerServiceLevelReportHeader RH
ON (RH.HeaderGUID=RD.HeaderGUID)
LEFT JOIN SDBPHASE2DW.dbo.DimDate dd
ON CONVERT(VARCHAR(10), RH.StartDate, 103) = CONVERT(VARCHAR(10), dd.FullDate, 103)
LEFT JOIN SDBPHASE2DW.dbo.DimDate dd2
ON CONVERT(VARCHAR(10), RH.EndDate, 103) = CONVERT(VARCHAR(10), dd2.FullDate, 103)
答案 0 :(得分:1)
您可以采取一些措施来优化代码: