alter
index INDEX_NAME rebuild;
dbms_stats.gather_table_stats('OWNER','TABLE_NAME',degree
=> 4,cascade => true);
定期更新表格的統計資料(statistics)對於Oracle成本優化器(CBO)產生的存取方式優劣有著舉足輕重的地位.
SQL> exec dbms_stats.gather_schema_stats(‘owner’);
or
SQL> exec dbms_stats.gather_table_stats(‘owner’,’table_name’);
索引(index)是另一個影響Oracle資料庫效能的關鍵因素.使用者根據SQL之選擇條件(where condition)建立適當的索引,加速表格(table)資料的存取速度.過多與不適的索引,不但對於資料的存取沒有幫助,甚至會增加更新類交易之負擔.在Oracle9i以後的版本,使用alter index monitoring usage來監控表格索引的使用,使用者根據v$object_usage視觀(view)中uesd欄位值(Yes or No),判斷與刪除冗贅不必要的索引.
SQL> ALTER INDEX index_name MONITORING USAGE;
針對異動頻繁的表格,常常在系統運作一段時間後,發現資料的存取速度突然變慢很多,發生這種現象普遍的原因為索引區塊(index blocks)中產生過多的刪除記錄(entries)所致.Oracle中analyze index validate structure指令就是用來判讀索引的使用狀況,透過index_stats視觀中leaf rows的刪除比率(del_lf_rows / lf_rows * 100 > 15%)決定是否需要重建(rebuild)索引,讓管理人員提早發現問題,預防效能不佳的情形發生.
SQL> ANALYZE INDEX index_name VALIDATE STRUCTURE。
--partition table index rebuild
Step 1: Look-up the partition name in dba_ind_partitions.
select 'alter index '||index_name||' rebuild partition '||partition_name||';' from dba_ind_partitions where index_name = 'XXX';
定期更新表格的統計資料(statistics)對於Oracle成本優化器(CBO)產生的存取方式優劣有著舉足輕重的地位.
SQL> exec dbms_stats.gather_schema_stats(‘owner’);
or
SQL> exec dbms_stats.gather_table_stats(‘owner’,’table_name’);
索引(index)是另一個影響Oracle資料庫效能的關鍵因素.使用者根據SQL之選擇條件(where condition)建立適當的索引,加速表格(table)資料的存取速度.過多與不適的索引,不但對於資料的存取沒有幫助,甚至會增加更新類交易之負擔.在Oracle9i以後的版本,使用alter index monitoring usage來監控表格索引的使用,使用者根據v$object_usage視觀(view)中uesd欄位值(Yes or No),判斷與刪除冗贅不必要的索引.
SQL> ALTER INDEX index_name MONITORING USAGE;
針對異動頻繁的表格,常常在系統運作一段時間後,發現資料的存取速度突然變慢很多,發生這種現象普遍的原因為索引區塊(index blocks)中產生過多的刪除記錄(entries)所致.Oracle中analyze index validate structure指令就是用來判讀索引的使用狀況,透過index_stats視觀中leaf rows的刪除比率(del_lf_rows / lf_rows * 100 > 15%)決定是否需要重建(rebuild)索引,讓管理人員提早發現問題,預防效能不佳的情形發生.
SQL> ANALYZE INDEX index_name VALIDATE STRUCTURE。
--partition table index rebuild
Step 1: Look-up the partition name in dba_ind_partitions.
select * from dba_ind_partitions where index_name = 'XXX'
Step 2: specify the partition name in the index rebuild statement:
SQL> alter index idx_hist_i3 rebuild partition p3;
Index altered.
沒有留言:
張貼留言