如何正確地分析Oracle資料庫模式,表及索引

2021-08-26 22:37:42 字數 1923 閱讀 9368

在oracle 資料庫中,我們經常需要去手工分析表和索引,還有某個模式下所有的表和索引等等。oracle 提供了兩種分析方法,分別是dbms_stats 包和analyze 命令。這些是我們在日常專案管理中的真實使用的方法,供參考。

在10g 中分析某乙個使用者下所有的物件,如user_miki 使用者

sys.dbms_stats.gather_schema_stats(ownname => 'user_miki',estimate_percent => 30,method_opt => 'for all indexed columns size auto',cascade => true,options => 'gather');

這是我在專案中分析乙個使用者所有物件的分析方法,取樣比例為30% ,分析所有索引字段,生成柱形圖,並且也分析索引。

在10g 中分析某乙個使用者下某乙個表及其索引,如user_miki 使用者下info 表和它的索引

execute dbms_stats.gather_table_stats(ownname => 'user_miki',tabname => 'info',estimate_percent => 30,method_opt => 'for all indexed columns size auto');

這是我在專案中單獨分析乙個使用者中一張表的分析方法,取樣比例為30% ,分析所有索引字段,生成柱形圖,並且也分析索引。

命令分析表的方法。

analyze table   table_name compute statistics;

這個會將索引和表一起分析;

analyze table table_name compute statistics for table;

這個僅分析表;

analyze table table_name compute statistics for all columns;

這個僅分析表,和上面所有的字段,生成柱形圖

analyze table table_name compute statistics for all indexed columns;

這個僅分析表,和上面所有建立索引的字段,生成柱形圖

在9i 中,我們常常使用analyze 方法,在10g 以後,就改為dbms_stats.gather_schema_stats 類似的包來分析資料庫物件了。

10g 的分析函式包比9i 的analyze 方法更靈活一些。

在10g 中,會有個系統的計畫任務,每天10 點和週末兩天都自動分析新的資料庫物件和它認為統計資訊已經過期的資料庫物件。這個分析結果有時候不靠譜。

因此,我都採用10g 中提供的dbms_stats.gather_schema_stats 方法作為補充,設定乙個計畫任務定期去分析業務使用者下所有資料庫物件。

variable job number;

begin

sys.dbms_job.submit(job => :job,

what => 'sys.dbms_stats.gather_schema_stats(ownname => ''usr_miki'',estimate_percent => 30,method_opt => ''for all indexed columns size auto'',cascade => true,options => ''gather'');',

next_date => to_date('16-12-2012 00:56:24', 'dd-mm-yyyy hh24:mi:ss'),

interval => 'sysdate+7');

commit;

end;

/

例如,設定為每週六執行一次。

正確地使用Checked Exception

正確地使用checked exception 實際上,如何正確地使用checked exception已經在前面的各章節講解中進行了詳細地說明。在這裡我們再次做乙個總結,同時也用來加深一下印象。從api編寫者的角度來講,他所需要考慮的就是在何時使用乙個checked exception。首先,che...

正確地啟動hadoop

環境 ubuntu16.04系統 64位 apache hive 3.0.0 bin spark 2.3.1 bin hadoop2.7 scala2.11 hosts配置 etc hosts中注意hostname不要和127.0.0.1繫結 219.223.207.228 ubuntu 127.0...

如何正確地寫出單例模式

發表於 2014 08 28 分類於 程式設計 閱讀次數 50513 單例模式算是設計模式中最容易理解,也是最容易手寫 的模式了吧。但是其中的坑卻不少,所以也常作為面試題來考。本文主要對幾種單例寫法的整理,並分析其優缺點。很多都是一些老生常談的問題,但如果你不知道如何建立乙個執行緒安全的單例,不知道...