欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle中如何把表和索引放在不同的表空間里

 更新時(shí)間:2013年07月13日 10:27:26   作者:  
Oracle中并沒有區(qū)分表空間里放的是表還是索引,所有當(dāng)數(shù)據(jù)量比較小時(shí),完全可以把表和索引放在同一個(gè)表空間里,但隨著數(shù)據(jù)量的增大,最好還是把表和索引分開存儲(chǔ)在不同的表空間里

因?yàn)椋?BR>1)提高性能:盡量把表和索引的表空間存儲(chǔ)在不同在磁盤上,把兩類不同IO性質(zhì)的數(shù)據(jù)分開放,這樣可以提高磁盤的IO總體性能;

2)便于管理:試想一下,如果索引的數(shù)據(jù)文件損壞,只要?jiǎng)?chuàng)建索引即可,不會(huì)引起數(shù)據(jù)丟失的問題。

下面語(yǔ)句用于移動(dòng)索引的表空間:

復(fù)制代碼 代碼如下:

alter index INDEX_OWNER.INDEX_NAME rebuild tablespace NEW_TBS;

也可以利用以下語(yǔ)句獲得某個(gè)schema下移動(dòng)索引表空間的所有語(yǔ)句:
復(fù)制代碼 代碼如下:

select 'alter index '||owner||'.'||index_name||' rebuild tablespace NEW_TBS;'
from dba_indexes
where table_owner='SCHEMA_NAME'
order by index_name;

有一點(diǎn)需要注意的是,一旦把表和索引放在不同表空間后,在創(chuàng)建新表時(shí),如果表有主鍵或唯一約束,記得要指定到索引的表空間,可以參考下面的例子:
復(fù)制代碼 代碼如下:

create table tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
constraint pk_name primary key ( MON, IDNO )
using index tablespace index_tbs,
CONSTRAINT uk_name UNIQUE (MON)
using index tablespace index_tbs
) ;

相關(guān)文章

最新評(píng)論