为索引创建新的表空间

时间:2012-12-02 12:52:44

标签: sql database oracle

我想为索引创建一个全新(额外)的表空间。我怎样才能做到这一点? 什么是查询?据我所知,我必须为新的表空间创建数据文件,但我不知道如何......

请帮忙!

3 个答案:

答案 0 :(得分:4)

对此的简单回答是:不要。前段时间有一个神话,将表和索引分成不同的表空间是出于性能原因的好事,但事实并非如此。处理多表空间的增加的维护和监视工作几乎是不值得的,所以除非你需要做一些像使用可传输表空间这样的高级操作,否则你最好保持它尽可能简单。

答案 1 :(得分:4)

通过以下方式创建表空间:

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;

答案 2 :(得分:1)

DDL非常简单。创建表空间的命令很容易猜到:create tablespace

Oracle文档是在线的,全面且免费的。它甚至有例子。 Find it here.