1.oracle會自動為表的主鍵列建立索引,這個預設的索引是普通的b-tree索引
2.索引本身實際上是乙個表,因此當對表新增乙個記錄時,oracle必須做兩次插入。這樣,組表增加乙個索引將導致插入操作要兩倍多的時間(兩倍的時間用於兩次插入,另外還需要一點時間處理二表之間
的同步)。增加兩個索引將使用插入操作花三倍時間,三個索引使插入操作花四倍的時間,等等。因此索引的使用要權衡利弊。它們會使資料輸入花費更長的時間,但卻使讀取資料的速度提高
3.表越大,從表的索引中獲得的好處就越多
4.b*-樹索引結構最適合於檢索含有大量不同值的列;位圖索引結構對於只包含很少的不同值的列更有效
在where子句為乙個低基數列的select查詢中,預先建立該列的點陣圖索引可大大減少檢索花費時間。該速度的提高是兩方面的結果:1)位圖索引相當地小;2)儲存在位圖索引中的「1」或「0」值可以被計算機很快地計算
優化Oracle庫表設計的若干方法 一
前言 絕大多數的oracle資料庫效能問題都是由於資料庫設計不合理造成的,只有少部分問題根植於database buffer share pool redo logbuffer等記憶體模組配置不合理,i o爭用,cpu爭用等 dba職責範圍上。所以除非是面對乙個業已完成不可變更的系統,否則我們不應過...
優化Oracle庫表設計的若干方法 三
2 顯式為主鍵列建立反向鍵索引 2.1 反向鍵索引的原理和用途 我們知道oracle會自動為表的主鍵列建立索引,這個預設的索引是普通的b tree索引。對於主鍵值是按順序 遞增或遞減 加入的情況,預設的b tree索引並不理想。這是因為如果索引列的值具有嚴格順序時,隨著資料行的插入,索引樹的層級增長...
優化Oracle庫表設計的若干方法 一
前言 絕大多數的oracle資料庫效能問題都是由於資料庫設計不合理造成的,只有少部分問題根植於database buffer share pool redo log buffer等記憶體模組配置不合理,i o爭用,cpu爭用等dba職責範圍上。所以除非是面對乙個業已完成不可變更的系統,否則我們不應過...