首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引或不索引

索引或不索引
EN

Stack Overflow用户
提问于 2009-01-08 17:02:31
回答 4查看 385关注 0票数 0

我有一个专门用来记录用户操作的数据库。该数据库有几个针对特定类型的操作的小表。这些数据很少被搜索,但是表的行数开始攀升到数百万。我没有注意到很大的速度减慢,但我想知道索引用于搜索的表是否会阻碍或帮助插入的性能。插入是经常执行的,但是搜索并不是那么频繁,并且表只会继续增长。

我应该在这些表上创建索引吗?为什么或者为什么不?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-08 17:05:20

这一切都取决于你的实证研究。将数据库的副本复制到不同的环境中,并在运行带有和不带有索引的搜索和插入时运行分析器。测量性能,看看有什么帮助。:)

票数 4
EN

Stack Overflow用户

发布于 2009-01-08 17:04:51

我认为您应该考虑在插入行的表上不使用索引,然后复制专门用于查询的表(并可能应用索引),而不是索引。

票数 3
EN

Stack Overflow用户

发布于 2009-01-08 17:34:12

作为Ray says,这完全取决于具体情况,唯一的办法就是在负载下尝试。

从理论上讲:是的,向表中添加索引会降低插入速度,因为DBMS必须在每次插入时维护所有索引。但是你会注意到吗?这对观察到的性能有影响吗?也许不是。索引通常保存在log树结构中,可以在O( B+ n)时间内插入,这是非常好的,更不用说所有的磁盘缓存等。所以唯一确定的方法是尝试两种方法,看看有什么不同。

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

https://stackoverflow.com/questions/425047

复制
相关文章

相似问题

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