真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何表分析 表分析oracle語句

如何正確地分析Oracle數(shù)據(jù)庫模式,表及索引

在Oracle 數(shù)據(jù)庫中,我們經(jīng)常需要去手工分析表和索引,還有某個模式下所有的表和索引等等。oracle 提供了兩種分析方法,分別是dbms_stats 包和analyze 命令。這些是我們在日常項目管理中的真實使用的方法,供參考。

在羅莊等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作按需策劃設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),羅莊網(wǎng)站建設(shè)費用合理。

在10g 中分析某一個用戶下所有的對象,如user_miki 用戶

Sql代碼 收藏代碼

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% ,分析所有索引字段,生成柱形圖,并且也分析索引。

(miki西游 @mikixiyou 文檔,原文鏈接: )

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

Sql代碼 收藏代碼

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

這是我在項目中單獨分析一個用戶中一張表的分析方法,取樣比例為30% ,分析所有索引字段,生成柱形圖,并且也分析索引。

我們在google 時,還能看到使用analzye 命令分析表的方法。

Sql代碼 收藏代碼

analyze table table_name compute statistics;

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

Sql代碼 收藏代碼

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 類似的包來分析數(shù)據(jù)庫對象了。

10g 的分析函數(shù)包比9i 的analyze 方法更靈活一些。

在10g 中,會有個系統(tǒng)的計劃任務(wù),每天10 點和周末兩天都自動分析新的數(shù)據(jù)庫對象和它認(rèn)為統(tǒng)計信息已經(jīng)過期的數(shù)據(jù)庫對象。這個分析結(jié)果有時候不靠譜。

因此,我都采用10g 中提供的dbms_stats.gather_schema_stats 方法作為補充,設(shè)置一個計劃任務(wù)定期去分析業(yè)務(wù)用戶下所有數(shù)據(jù)庫對象。

Sql代碼 收藏代碼

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;

/

例如,設(shè)置為每周六運行一次。

如何分析oracle數(shù)據(jù)庫中的表結(jié)構(gòu)?

去這里看看??

數(shù)據(jù)結(jié)構(gòu)被稱為物理(存儲)的數(shù)據(jù)結(jié)構(gòu)在計算機中的表示(圖片)。它包括一個數(shù)據(jù)元素表示的關(guān)系的表示。

物理結(jié)構(gòu),也就是由Oracle數(shù)據(jù)庫所使用的操作系統(tǒng)的文件結(jié)構(gòu)。對于數(shù)據(jù)庫的物理結(jié)構(gòu)文件,不同版本的Oracle,不同的操作系統(tǒng)平臺上的數(shù)據(jù)庫文件存放的目錄結(jié)構(gòu)不同的物理結(jié)構(gòu)

其作用可分為三類:

數(shù)據(jù)日志文件的文件

控制文件

數(shù)據(jù)文件,數(shù)據(jù)文件,用于存儲數(shù)據(jù)庫中的數(shù)據(jù),如表,索引等。當(dāng)讀取數(shù)據(jù)時,系統(tǒng)首先讀取的數(shù)據(jù)從數(shù)據(jù)庫文件,并存儲到數(shù)據(jù)緩沖器,SGA。

重做日志文件,重做日志文件

所有的記錄在數(shù)據(jù)庫中的信息。這是三種類型的文件,文件中最復(fù)雜的,而且要保證數(shù)據(jù)庫的安全性和數(shù)據(jù)庫的備份和恢復(fù)文件直接。

控制文件

控制文件是一個二進制文件,用來描述數(shù)據(jù)庫的物理結(jié)構(gòu),數(shù)據(jù)庫只需要一個控制文件,控制文件的內(nèi)容,包括:

同步需要恢復(fù)的數(shù)據(jù)文件和日志文件的信息標(biāo)識數(shù)據(jù)庫和數(shù)據(jù)庫的名稱,唯一標(biāo)識

數(shù)據(jù)庫,檢查點數(shù)量

/

a

如果有,請記得采納為滿意的答復(fù),謝謝你!我祝你幸福的生活!

vaela

如何分析Oracle

分析表語句:

dbms_stats.gather_table_stats(user,'table',method_opt='for all indexed columns size 254',granularity='ALL',cascade=TRUE);

dbms_stats.gather_index_stats(user,'index',degree=2,granularity='ALL');

作用:DBMS_STATS.GATHER_TABLE_STATS統(tǒng)計表,列,索引的統(tǒng)計信息.

DBMS_STATS.GATHER_TABLE_STATS的語法如下:

DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, block_sample BOOLEAN, method_opt VARCHAR2, degree NUMBER, granularity VARCHAR2, cascade BOOLEAN, stattab VARCHAR2, statid VARCHAR2, statown VARCHAR2, no_invalidate BOOLEAN, force BOOLEAN);

參數(shù)說明:

ownname:要分析表的擁有者

tabname:要分析的表名.

partname:分區(qū)的名字,只對分區(qū)表或分區(qū)索引有用.

estimate_percent:采樣行的百分比,取值范圍[0.000001,100],null為全部分析,不采樣. 常量:DBMS_STATS.AUTO_SAMPLE_SIZE是默認(rèn)值,由oracle決定最佳取采樣值.

block_sapmple:是否用塊采樣代替行采樣.

method_opt:決定histograms信息是怎樣被統(tǒng)計的.method_opt的取值如下:

for all columns:統(tǒng)計所有列的histograms.

for all indexed columns:統(tǒng)計所有indexed列的histograms.

for all hidden columns:統(tǒng)計你看不到列的histograms

for columns list SIZE N | REPEAT | AUTO | SKEWONLY:統(tǒng)計指定列的histograms.N的取值范圍[1,254]; REPEAT上次統(tǒng)計過的histograms;AUTO由oracle決定N的大小;SKEWONLY multiple end-points with the same value which is what we define by "there is skew in the data

degree:決定并行度.默認(rèn)值為null.

granularity:Granularity of statistics to collect ,only pertinent if the table is partitioned.

cascace:是收集索引的信息.默認(rèn)為falase.

stattab指定要存儲統(tǒng)計信息的表,statid假如多個表的統(tǒng)計信息存儲在同一個stattab中用于進行區(qū)分.statown存儲統(tǒng)計信息表的擁有者.以上三個參數(shù)若不指定,統(tǒng)計信息會直接更新到數(shù)據(jù)字典.

no_invalidate: Does not invalidate the dependent cursors if set to TRUE. The procedure invalidates the dependent cursors immediately if set to FALSE.

force:即使表鎖住了也收集統(tǒng)計信息.

例子:

execute dbms_stats.gather_table_stats(ownname = 'owner',tabname = 'table_name' ,estimate_percent = null ,method_opt = 'for all indexed columns' ,cascade = true);

oracle如何判斷需要做表分析

首先要了解為什么要進行表分析,表分析的結(jié)果被Oracle用于基于成本的優(yōu)化生成更好的查詢計劃。所以,一般發(fā)現(xiàn)如有個表的查詢性能比較差,或者原本有索引但是沒有走,那就可以考慮對表進行分析。


網(wǎng)頁名稱:oracle如何表分析 表分析oracle語句
標(biāo)題路徑:http://weahome.cn/article/hjijsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部