首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >帮助提高Server 2005查询执行时间

帮助提高Server 2005查询执行时间
EN

Database Administration用户
提问于 2009-11-07 16:38:21
回答 4查看 556关注 0票数 3

我的一个存储过程有很长的执行时间(平均大约4到7分钟)。我想让它跑得更快。

我正在看执行计划,其中有两件事是大部分成本的来源。First代表了用于报告的一个主要表的“聚集索引扫描”成本的68%。该表有两个列的主键和2.000.000条记录。

第二,要求最高的任务占“合并连接”(左外部连接)成本的26%。这是通过外键将上面提到的表连接到上表中主键的两个列中的一个。

我检查了Index物理统计数据,这些表的索引都很好。

我能做什么来提高这个存储过程的性能?我需要在这些表上建立新的索引吗?set transaction isolation level read uncommitted语句是否有助于提高性能?

EN

回答 4

Database Administration用户

回答已采纳

发布于 2009-11-07 20:12:04

如果您发布模式和查询等,这将是有用的,除了其他3个答案。

一些链接,从简单的谈话。好东西。

  • 执行计划基础
  • 用于简单SQL查询的图形化执行计划
  • 理解更复杂的查询计划
票数 5
EN

Database Administration用户

发布于 2009-11-07 16:51:38

您的方法是正确的:聚集索引扫描基本上遍历整个表,这是您想要避免的。查看聚集索引扫描的详细信息:应该有一个WHERE谓词告诉您扫描搜索的是哪个字段。确保此字段上有索引(或这些字段,如果有多个字段),然后再试一次。

票数 2
EN

Database Administration用户

发布于 2009-11-07 17:17:51

第一个查询导致68%的时间被花费-它看起来是什么样子?你的表和主键是什么样子的?

如果你找到一种方法来消除聚集索引扫描,事情应该会好得多-但为了帮助你找到问题,我们需要更多的信息!请编辑你的原始问题,并将这些东西添加到他们-谢谢!

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/12465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档