b-樹索引
位圖索引
hash索引
索引編排表
反轉鍵索引
基於函式的索引
分割槽索引
本地和全域性索引
索引結構:
b-tree:
適合與大量的增、刪、改(oltp);
不能用包含or操作符的查詢;
適合高基數的列(唯一值多);
常在訪問小資料量的情況下比較適用,比如你訪問不超過表中資料的5%,當然這只是個相對的比率,適用於一般的情況。
典型的樹狀結構;
每個結點都是資料塊;
大多都是物理上一層、兩層或三層不定,邏輯上三層;
葉子塊資料是排序的,從左向右遞增;
在分支塊和根塊中放的是索引的範圍;
bitmap:
適合與決策支援系統;
做update代價非常高;
非常適合or操作符的查詢;
基數比較少的時候才能建位圖索引;
在資料倉儲中使用較多,用於低基數列,比如性別之類重複值很多的字段,基數越小越好。
反轉鍵索引:
反轉索引時為了解決熱塊衝突的問題。比如有id 為1,2,3,4,5,都在索引塊的block a中。當用id =1 訪問時,訪問的是block a。
當用id =2 訪問時,訪問的是
block a。這樣就會導致索引出現熱塊(關於熱快請參考
)。如果反轉後存放,就可能1在
block a,2在
block b
訪問的是block a。
當用id =1 訪問時,訪問的是
block a。
當用id =2 訪問時,訪問的是
block b。
這樣就解決了索引的熱快問題。
資料庫索引型別
邏輯上 single column 單行索引 concatenated 多行索引 unique 唯一索引 nonunique 非唯一索引 function based函式索引 domain 域索引 物理上 partitioned 分割槽索引 nonpartitioned 非分割槽索引 b tree ...
資料庫索引型別
邏輯上 single column 單行索引 concatenated 多行索引 unique 唯一索引 nonunique 非唯一索引 function based函式索引 domain 域索引 物理上 partitioned 分割槽索引 nonpartitioned 非分割槽索引 b tree ...
mysql資料庫的索引型別
1 普通索引 最基本的索引,它沒有任何限制,用於加速查詢。建立方法 建表的時候一起建立 create table mytable name varchar 32 index index mytable name name b.建表後,直接建立索引 create index index mytable...