达梦支持哪些索引?
二级索引,位图索引,唯一索引,复合索引,函数索引,分区索引等
默认的表是索引组织表,利用ROWID 创建一个默认的索引,所以我们创建的索引,称为二级索引。
SQL> select table_name,index_name from dba_indexes where table_name='T1';
创建索引的规划?
作用:加快表的查询,对数据库做DML操作的时候,数据库会自动维护索引。
索引是一棵倒置的树,是多叉树,使用索引就是这棵多叉树进行遍历。
规划:
经常查询的列。
连接条件列。
谓词经常出现的列(where)
查询是返回表的一小部分数据。
不适合创建索引的情况:
列上有大量的NULL
列上的数据有限(例如:性别)
表的数据是无序的,索引的数据是序的。
规划索引表空间
select table_name,index_name from dba_indexes where table_name='T1';
建索引
SQL> create table emp as select * from dmhr.employee;
SQL> create tablespace indx datafile '/dm7/data/DAMENG/indx.dbf' size 32;
SQL> create index ind_emp on emp(employee_id) tablespace indx;
SQL> select table_name,index_name from dba_indexes where table_name='EMP';
注意:创建索引、删除索引、重建索引和收集统计信息,不要在业务高峰期去做
维护索引?
重建
SQL> alter index ind_emp rebuild;
删除
SQL> drop index ind_emp;