1
Oracle將作爲DataStore推出一款全新的應用程序,該產品將在Production中推廣。數據庫使用CBO我已經識別了一些列來做索引。我預計6個月後,特定表格中的記錄總數將達到400萬。之後,將添加很少的記錄,並且在索引列的記錄中不會有任何更新。我的意思是大多數更新將在NonIndexed列中。何時適合在Oracle中創建索引?
建議現在創建索引嗎?或者我需要等待幾個月?
Oracle將作爲DataStore推出一款全新的應用程序,該產品將在Production中推廣。數據庫使用CBO我已經識別了一些列來做索引。我預計6個月後,特定表格中的記錄總數將達到400萬。之後,將添加很少的記錄,並且在索引列的記錄中不會有任何更新。我的意思是大多數更新將在NonIndexed列中。何時適合在Oracle中創建索引?
建議現在創建索引嗎?或者我需要等待幾個月?
如果表需要索引,那麼在表中的行數超出可合理保留高速緩存的範圍之後,將會產生很多糟糕的性能(全表掃描+實際I/O)。假設是20000行。我們將其稱爲幻數。你在一週的生產中打了20000行。之後,隨着更多行的添加,表上的查詢和更新平均會逐漸變慢。
您可能擔心插入帶有索引字段的新行的開銷。這是一次性打擊。在延遲添加索引時,您可以針對數十種查詢和更新進行交易。
這種折衷主要是贊成現在添加索引。特別是因爲我們不知道那個幻數(20000?)究竟是什麼。可能會更大。或更小。
看不到任何推遲索引創建的理由 – 2013-05-08 03:10:30
您使用的是哪一個確切的Oracle版本? – 2013-05-08 08:35:38