数据库的应用类型分为 数据库
转自:http://blog.csdn.net/kingzone_2008/article/details/8182792并发
数据存储方式上分类:B-树索引、反向索引、位图索引函数
索引列的个数分:单列索引、复合索引;性能
-- 基本结构 CREATE [UNIQUE] INDEX index_name ON table_name (function1, function2, . function_n) [ COMPUTE STATISTICS ]; -- 例子 CREATE INDEX supplier_idx ON supplier (UPPER(supplier_name));
目前大量使用的索引通常主要是B-Tree索引,在索引结构中存储着键值和键值的RowID,而且是一一对应的。而位图索引主要针对大量相同值的列而建立,例如:类别,操做员,部门ID等。位图索引因为只存储键值的起止Rowid和位图,占用的空间很是少。spa
位图索引很是适合于数据仓库应用,由于数据仓库处理的是大量即席查询,几乎没有并发的事务。位图索引提供如下优点:.net
位图索引不适合OLTP应用,OLTP应用须要处理大量并发的修改数据的事务。位图索引更适合于基于数据仓库的决策支持系统,由于决策支持系统主要是查询数据而不是修改数据。位图索引页不适合于主要用于大于或小于比较的列,只适合于等式查询,特别是AND,OR和NOT操做;大于和小于比较更适合采用B-tree索引。code
CREATE BITMAP INDEX 索引名 ON 表名 (列名);
果将这些记录根据它们的某一列组织成B-tree结构,一个叶节点表明一条数据,那么从n行的表中查询一条记录的平均用时为log(n)。这就是Oracle数据库索引的基本原理。blog
B-tree的分支节点包含到其子节点的索引。最低层节点(叶节点)包含了索引数据值和其对应的rowid,rowid用于定位对应的数据表行。索引