oracle中设置了索引后,索引本质也是存在一张表里的(索引表)。所以在为索引指定表空间时,不要将被索引的表和索引指向同一个表空间,这样可以避免产生IO冲突。使oracle能够并行访问存放在不同硬盘中的索引数据和表数据,提高查询速度。
准备工作:
我们有个用户hr2,数据表空间是users,临时表空间是temp,现在要指定索引表空间。
创建一个表空间文件:
create tablespace hr2_idx datafile '/u01/app/oracle/oradata/XE/hr2_idx.dbf' size 200m autoextend on next 32m maxsize 1024m extent management local;
hr2用户下有一个employees表:
select index_name, table_name, tablespace_name, uniqueness from user_indexes where table_name='EMPLOYEES';
INDEX_NAME TABLE_NAME TABLESPACE_NAME UNIQUENES ------------------------------ ------------------------------ ------------------------------ --------- EMP_EMAIL_UK EMPLOYEES USERS UNIQUE EMP_EMP_ID_PK EMPLOYEES USERS UNIQUE EMP_DEPARTMENT_IX EMPLOYEES USERS NONUNIQUE EMP_JOB_IX EMPLOYEES USERS NONUNIQUE EMP_MANAGER_IX EMPLOYEES USERS NONUNIQUE EMP_NAME_IX EMPLOYEES USERS NONUNIQUE