2 / 5
1.4 限制每个表的索引的数量
一个表可以有任意数量的索引。但是,索引越多,修改表数据的开销就越大。当插入或
删除行时,表上的所有索引也要被更改;更改一个列时,包含该列的所有索引也要被更改。
因此,在从表中检索数据的速度和更新表的速度之间有一个折衷。例如,如果一个表主要仅
用于读,则索引多就有好处;如果一个表经常被更新,则索引不宜多建。
2 创建索引
2.1 创建聚集索引
DM 数据库中表(列存储表和堆表除外)都是使用 B+树索引结构管理的,每一个普通表
都有且仅有一个聚集索引,数据都通过聚集索引键排序,根据聚集索引键可以快速查询任何
记录。
当建表语句未指定聚集索引键时,DM 数据库的默认聚集索引键是 ROWID。若指定索引
键,表中数据都会根据指定索引键排序。 建表后,DM 数据库也可以用创建新聚集索引的
方式来重建表数据,并按新的聚集索引排序。 例如, 可以对 employee 表以 employee_name
列新建聚集索引。
先建立索引表空间 ind_tbs:
Sql>create tablespace ind_tbs datafile
'/dm8/data/DAMENG/ind_tbs.dbf' size 32 autoextend on next 10
maxsize 2000;
Sql>create index ind_emp on dmhr.employee(employee_name)
tablespace ind_tbs;
2.2 复合索引
Sql>create index ind_emp_dep on
dmhr.employee(employee_id,department_id) tablespace ind_tbs;
评论