索引的概念
官方定義:索引是建立在表的一列或多列上的輔助對象。可以加快對表的通路速率。
索引類似書的目錄。
《轉》索引的分類
邏輯上:
Single column 單行索引
Concatenated 多行索引
Unique 唯一索引
NonUnique 非唯一索引
Function-based函數索引
Domain 域索引
實體上:
Partitioned 分區索引
NonPartitioned 非分區索引
B-tree:
Normal 正常型B樹
Rever Key 反轉型B樹
Bitmap 位圖索引
單行索引:
基于單個列所建立的索引
文法: create index 索引名 on 表名(列名)
<a href="http://zhengweiit.blog.51cto.com/attachment/201103/17/1109863_1300347383mj4N.png"></a>
多行索引:
基于兩列或多列建立的索引,在一張表上可以有多個索引,但要求列的組合都不相同
例如:
<a href="http://zhengweiit.blog.51cto.com/attachment/201103/17/1109863_1300347383VPRe.png"></a>
唯一索引:
當這一列資料中,任意兩行的值都不相同,可以建立唯一索引。
當建立 primary key 或者 unique constraint時 唯一索引都會被自動建立
文法: create unique index 索引名 on 表名(列名);
<a href="http://zhengweiit.blog.51cto.com/attachment/201103/17/1109863_1300347384Mirj.png"></a>
非唯一索引
單行索引,多行索引,唯一索引,非唯一索引都屬于B*數索引,這種數索引适合索引DTP(動态)歡迎
索引兩大類,B*數索引和位圖索引
另外一種位圖索引适合大型靜态表倉庫環境
例如表中有很多重複的值,但很少去做改動時,适合建立位圖索引。
位圖索引以一種壓縮形式存放,是以占用空間較少。
文法:create bitmap index 索引名 on 表名(列1,列2…);
<a href="http://zhengweiit.blog.51cto.com/attachment/201103/17/1109863_1300347384icx5.png"></a>
本文轉自 鄭偉 51CTO部落格,原文連結:http://blog.51cto.com/zhengweiit/517798