在OLTP 类型的数据库中经常更新的表INDEX不要超过 5 个 。而且尽量使用单独索引 。 在没有很好按照某个索引字段排序的表中, 在返回值少于总行的 7% 左右使用这个INDEX比较好 。 超过了总行数的 7% 性能不会太好了 。 在事先就排好顺序的表的索引字段上查数据,返回值少于 40% 的情况下使用这个INDEX会比较好 。
普通索引(单列)create index IDX_table_id on table_a (id);
复合索引(多列)create index IDX_table_id_name on table_a (id,name);
CREATE [UNIQUE] INDEX <index_name> ON <table_name>(字段 [ASC|DESC]);
UNIQUE --确保所有的索引列中的值都是可以区分的。
[ASC|DESC] --在列上按指定排序创建索引。
(创建索引的准则:
1.如果表里有几百行记录则可以对其创建索引(表里的记录行数越多索引的效果就越明显)。
2.不要试图对表创建两个或三个以上的索引。
3.为频繁使用的行创建索引。
)
唯一索引时该列不能有null和重复值
只有当一个列的值小于30个时才考虑用bitmap索引,但是BITMAP索引会产生锁,我们从来不用
默认创建的就是b树索引
oracle当中没有聚集索引和非聚集索引的概念