首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多少个索引是太多的索引?

多少个索引是太多的索引?
EN

Software Engineering用户
提问于 2012-03-22 20:33:39
回答 6查看 12K关注 0票数 2

我有一张约有37种索引的桌子。那会不会被认为太多了?关于索引的一些最佳实践是什么?

编辑:它是仓储数据,每天更新与新的交易。有4700万行。其中3项指标是非常必要的。其他34~是用于加速查询的“where”子句索引。

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2012-03-22 20:39:24

比你需要的多一个索引就是太多了。少一个就太少了。

我试着去找一个有太多索引是个问题,却什么都找不到的例子

您知道,如果插入太慢,那么就会有太多的插入,而用于读取的索引没有足够快的速度来弥补它。

票数 21
EN

Software Engineering用户

发布于 2012-03-22 20:53:28

没有“神奇的数字”。0之后的每个索引都会稍微减慢insert/更新,但这不应该阻止您创建所需的索引。37确实听起来很多,确保你没有使用不必要的索引。例如,如果你在A,B列上有一个索引,你就不需要在A上有一个单独的索引,或者如果你对A,B,C,D有一个索引,那么你就不需要A,B,C,C上的另一个索引,而且如果在A,B,C,E上有另一个索引,你可能不会获得太多的收益。

票数 7
EN

Software Engineering用户

发布于 2012-03-22 20:40:57

创建索引是一种权衡。您必须确定维护索引的开销(从而减缓DML操作)和索引消耗的额外空间是否值得从使用索引的查询中获得性能增益。这又取决于查询的好处和这些查询的重要性。

在这个成本效益方程中,表上的索引数与此无关--每个索引都应该单独考虑(尽管特定索引的性能效益可能取决于查询是否可以使用不同的索引)。

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

https://softwareengineering.stackexchange.com/questions/141052

复制
相关文章

相似问题

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