首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对单行删除的大量“逻辑读取”

对单行删除的大量“逻辑读取”
EN

Stack Overflow用户
提问于 2009-10-15 08:33:19
回答 3查看 1.2K关注 0票数 0

当从表中按其PrimaryKey删除行时,我得到大约44472条逻辑读。现在这个表有5-6个子表,它们将其ForeignKeys链接到我想要删除的表的PK上。

我不知道该做什么来提高删除的性能。

有什么建议吗?

编辑:我为删除添加了查询计划

http://img384.imageshack.us/img384/6255/deleteexecutionplan.png

编辑:,我找到了一个解决方案(不确定它是否是理想的解决方案)--它在下面的响应中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-16 07:24:13

这个答案解决了这个问题,现在删除就像一种魅力。我不确定是否有什么坏处我应该意识到。

票数 0
EN

Stack Overflow用户

发布于 2009-10-15 08:53:19

查看单行删除的查询计划

我想您会发现一个表扫描正在对一个或多个“子”表进行扫描。如果是这样的话,请考虑在该子表的ForeignKey上添加一个索引。

(否则请将查询计划添加到您的问题中)

票数 0
EN

Stack Overflow用户

发布于 2009-10-15 08:56:08

你有FK约束吗?

我能想到的选择是

  • 向子表中的FK列添加索引。
  • 删除约束(这可能会导致孤立的行)。
  • 尝试减少子表的数量。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1571059

复制
相关文章

相似问题

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