什么时候在Oracle中创建索引?

时间:2013-05-08 02:16:32

标签: oracle indexing database-performance

Oracle作为DataStore的全新应用程序将在生产中推广。数据库使用 CBO ,我已经识别了一些列来进行索引。我预计特定表格中的记录总数在6个月后将达到400万。之后,将添加极少数记录,并且索引列的记录中不会有任何更新。我的意思是大多数更新将在NonIndexed列上。

现在建立索引是否明智?或者我需要等几个月?

1 个答案:

答案 0 :(得分:1)

如果表需要索引,那么在表中的行数超出可能合理保留缓存的行之后,将导致很多性能不佳(全表扫描+实际I / O)。假设是20000行。我们称之为神奇数字。你在一周的生产中达到了20000行。之后,随着更多行的添加,平均而言,表上的查询和更新将逐渐变慢。

您可能担心插入带索引字段的新行的开销。这是一次性打击。当您延迟添加索引时,这是一个针对数十个查询和更新的交易。

权衡主要是赞成立即添加索引。特别是因为我们不知道那个神奇的数字(20000?)到底是什么。可能更大。或更小。