Oracle中如何把表和索引放在不同的表空間里
更新時間:2013年07月13日 10:27:26 作者:
Oracle中并沒有區(qū)分表空間里放的是表還是索引,所有當數(shù)據(jù)量比較小時,完全可以把表和索引放在同一個表空間里,但隨著數(shù)據(jù)量的增大,最好還是把表和索引分開存儲在不同的表空間里
因為:
1)提高性能:盡量把表和索引的表空間存儲在不同在磁盤上,把兩類不同IO性質的數(shù)據(jù)分開放,這樣可以提高磁盤的IO總體性能;
2)便于管理:試想一下,如果索引的數(shù)據(jù)文件損壞,只要創(chuàng)建索引即可,不會引起數(shù)據(jù)丟失的問題。
下面語句用于移動索引的表空間:
復制代碼 代碼如下:
alter index INDEX_OWNER.INDEX_NAME rebuild tablespace NEW_TBS;
也可以利用以下語句獲得某個schema下移動索引表空間的所有語句:
復制代碼 代碼如下:
select 'alter index '||owner||'.'||index_name||' rebuild tablespace NEW_TBS;'
from dba_indexes
where table_owner='SCHEMA_NAME'
order by index_name;
有一點需要注意的是,一旦把表和索引放在不同表空間后,在創(chuàng)建新表時,如果表有主鍵或唯一約束,記得要指定到索引的表空間,可以參考下面的例子:
復制代碼 代碼如下:
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
) ;
相關文章
oracle 存儲過程和觸發(fā)器復制數(shù)據(jù)
oracle 存儲過程和觸發(fā)器復制數(shù)據(jù)的代碼,需要的朋友可以參考下。2009-11-11
Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯誤問題分析
這篇文章主要介紹了Oracle?19c的參數(shù)sec_case_sensitive_logon與ORA-01017錯誤,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
關于使用PLSQL Developer時出現(xiàn)報錯ora-12514的問題
這篇文章主要介紹了關于使用PLSQL Developer時出現(xiàn)報錯ora-12514的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
連接Oracle數(shù)據(jù)庫失敗(ORA-12514)故障排除全過程
Oracle連接失敗是指在使用Oracle數(shù)據(jù)庫進行開發(fā)的過程中,服務器端無法與客戶端連接,從而導致Oracle連接無法成功,影響開發(fā)的效率,下面這篇文章主要給大家介紹了關于連接Oracle數(shù)據(jù)庫失敗(ORA-12514)故障排除的相關資料,需要的朋友可以參考下2023-05-05

