oracle 11g中有個新特性,當表無資料時,不分配segment,以節省空間。
alter
system
set deferred_segment_creation=false;
該引數值預設是true,當改為false時,無論是空表還是非空表,都分配segment。
需注意的是:該值設定後對以前匯入的空表不產生作用,仍不能匯出,只能對後面新增的表產生作用。
查詢之前已經建立的空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
把查詢結果匯出,執行匯出的語句
'alter table '||table_name||' allocate extent;'
如果表少,可以在空表執行插入一行再刪除,這樣資料庫表就會分配segment了。。。
oracle 查詢不走索引的範例分析
like 後 位置不走索引問題 create table t2 as select from dba objects 建立表 create index idx t2 name on t2 object name 建立索引 set autotrace on 開啟執行計畫跟蹤 select from t...
Oracle不走索引的原因
在oracle資料庫操作中,為什麼有時乙個表的某個字段明明有索引,當觀察一些語的執行計畫確不走索引呢?如何解決呢?本文我們主要就介紹這部分內容,接下來就讓我們一起來了解一下 不走索引大體有以下幾個原因 你在instance級別所用的是all rows的方式 你的表的統計資訊 最可能的原因 你的表很小...
Oracle不走索引的原因
oracle資料庫操作中,為什麼有時乙個表的某個字段明明有索引,當觀察一些語的執行計畫確不走索引呢?如何解決呢?本文我們主要就介紹這部分內容,接下來就讓我們一起來了解一下 不走索引大體有以下幾個原因 你在instance級別所用的是all rows的方式 你的表的統計資訊 最可能的原因 你的表很小,...