首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >查看/查询性能

查看/查询性能
EN

Stack Overflow用户
提问于 2012-09-06 06:03:10
回答 1查看 106关注 0票数 1

我在本地服务器上创建了一个视图,它从链接服务器获取数据。在链接上,我只有读权限。

我试图提高我的视图的性能,我试图用SCHEMABINDING创建视图,但不允许在远程访问时使用SCHEMABINDING。我试着阅读了物化视图,是的,我知道它是Oracle中的一个函数,但想知道在SQL server2008 r2中是否有类似的东西。

对如何提高我的查询性能有什么建议吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-06 09:41:43

为了优化你的代码,你可以做几件事:

  1. 是否需要所有返回列?如果不需要,请仅选择所需的列。
  2. 是否需要转换对其进行联接的字段。它们似乎是相同的,所以您可以删除convert语句。
  3. 您需要所有记录吗?如果不需要,只需使用已定义的函数而不是视图-它将与您的视图相同,只是您可以向它传递一些将剪切返回数据的参数。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12293837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文