我想为索引创建一个全新的(额外的)表空间。我怎样才能做到这一点?什么是查询?据我所知,首先我必须为该新表空间创建数据文件,但我不知道如何...
请帮忙!
对此的简单回答是:不要。前段时间有一个神话,出于性能原因,将表和索引分离到不同的表空间是一件好事,这是不正确的。为处理多表空间而增加的维护和监控工作几乎是不值得的,所以除非你需要做一些高级的事情,比如使用可传输表空间,你几乎肯定最好让它尽可能简单。
通过以下方式创建表空间:
create tablespace ts_indexes
datafile '/dbf1/ts_indexes.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
然后在这个表空间中创建新的索引
create myIndex on myTable(field1, field2) tablespace ts_indexes;
并将现有索引移动到该表空间
alter index myIndex rebuild tablespace ts_indexes;
DDL 非常简单。创建表空间的命令很容易猜到:create tablespace
.
Oracle 文档是在线的、全面的和免费的。它甚至有例子。 在这里找到它。