首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型表上的SQL索引:一些大型索引还是更多小型索引?

大型表上的SQL索引:一些大型索引还是更多小型索引?
EN

Stack Overflow用户
提问于 2012-05-04 15:56:26
回答 1查看 135关注 0票数 0

我有一个包含+/- 8000万行(分区的)的表。

插入变得有点慢(大约1-3秒)。查询计划表明68%的insert是clustered index insert,但是对于每个insert / update和delete,表上也有一些触发器。所以很难说到底是什么导致了时间。

无论如何,我们在该表上有一些索引,其中一些有3-5列。

我想知道的是,在性能方面,哪个更好:是让一些索引包含多个列,还是让更多更小的索引包含更少的列?

欢迎所有的提示和建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-04 15:59:34

查询计划说68%的insert是聚集索引insert,但是对于每个insert / update和delete,表上也有一些触发器。所以很难说到底是什么导致了时间。

我认为很明显是你的触发器导致了问题。在这样一个没有触发器的小表上插入一行需要3秒的时间是非常不可能的。你可以试着移除它们,看看你的插入是否仍然很慢。

是让一些索引包含多个列,还是让更多更小的索引包含更少的列?

您应该查看您的查询,看看它们使用了哪些索引。要优化读取性能,您应该在慢查询可能受益的情况下添加索引-这可以是单列索引,也可以是多列索引,具体取决于特定查询。要优化写入性能,您应该删除任何未使用的索引。

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

https://stackoverflow.com/questions/10444899

复制
相关文章

相似问题

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