亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle索引質量介紹和分析腳本分享

2024-08-29 13:58:12
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Oracle索引質量介紹和分析腳本分享,索引質量的高低對數據庫整體性能有著直接的影響,本文給出了演示以及索引創建的基本指導原則,最后給出了索引質量分析腳本,需要的朋友可以參考下
索引質量的高低對數據庫整體性能有著直接的影響。良好高質量的索引使得數據庫性能得以數量級別的提升,而低效冗余的索引則使得數據庫性能緩慢如牛,即便是使用高檔的硬件配置。因此對于索引在設計之初需要經過反復的測試與考量。那對于已經置于生產環境中的數據庫,我們也可以通過查詢相關數據字典得到索引的質量的高低,通過這個分析來指導如何改善索引的性能。下面給出了演示以及索引創建的基本指導原則,最后給出了索引質量分析腳本。
1、查看索引質量
 
--獲取指定schema或表上的索引質量信息報告
gx_adm@CABO3> @idx_quality
Enter value for input_owner: GX_ADM
Enter value for input_tbname: CLIENT_TRADE_TBL -->如果我們省略具體的表名則會輸出整個schema的索引質量報告

                 Table   Table               Index Data Blks Leaf Blks    Clust Index
Table               Rows   Blocks Index           Size MB  per Key  per Key    Factor Quality
------------------------- ------------ ---------- ------------------------- ------- --------- --------- ------------ -------------
CLIENT_TRADE_TBL       6,318,035   278488 I_TDCL_ARC_STL_DATE_STOCK   62    312    13   171,017 5-Excellent
                         I_TDCL_ARC_STL_DATE_CASH    62    318    13   174,599 5-Excellent
                         I_TDCL_ARC_CANCEL_DATE     83    238     8   288,678 5-Excellent
                         I_TDCL_ARC_INPUT_DATE     144    249    13   310,974 5-Excellent
                         I_TDCL_ARC_TRADE_DATE     144    269    14   337,097 5-Excellent
                         PK_CLIENT_TRADE_TBL      200     1     1   798,216 2-Good
                         I_TDCL_ARC_GRP_REF_ID     144     1     1   811,468 2-Good
                         UNI_TDCL_ARC_REF_ID      136     1     1   765,603 2-Good
                         I_TDCL_ARC_CONTRACT_NUM    72     1     1   834,491 2-Good
                         I_TDCL_ARC_SETTLED_DATE    61    299     5   380,699 1-Poor
                         I_TDCL_ARC_ACC_NUM      184    624     3  3,899,446 1-Poor
                         I_TDCL_ARC_PL_STK       176    218     1  4,348,804 1-Poor
                         I_TDCL_ARC_INSTRU_ID     120   2,667     8  4,273,038 1-Poor

--從上面的單表輸出的索引質量可知,出現了4個處于Poor級別的索引,也就是說這些個索引具有較大的聚簇因子,幾乎接近于表上的行了
--對于這幾個索引的質量還應結合該索引的使用頻率來考量該索引存在的必要性
--對于聚簇因子,只能通過重新組織表上的數據來,以及調整相應索引列的順序得以改善
       
--查詢單表上索引列的相關信息      
gx_adm@CABO3> @idx_info
Enter value for owner: GX_ADM
Enter value for table_name: CLIENT_TRADE_TBL

TABLE_NAME        INDEX_NAME           CL_NAM        CL_POS STATUS  IDX_TYP     DSCD
------------------------- ------------------------------ -------------------- ------ -------- --------------- ----
CLIENT_TRADE_TBL     I_TDCL_ARC_ACC_NUM      ACC_NUM          1 VALID  NORMAL     ASC
             I_TDCL_ARC_CANCEL_DATE    CANCEL_DATE        1 VALID  NORMAL     ASC
             I_TDCL_ARC_CONTRACT_NUM   CONTRACT_NUM       1 VALID  NORMAL     ASC
             I_TDCL_ARC_GRP_REF_ID    GRP_REF_ID        1 VALID  NORMAL     ASC
             I_TDCL_ARC_INPUT_DATE    INPUT_DATE        1 VALID  NORMAL     ASC
             I_TDCL_ARC_INSTRU_ID     INSTRU_ID         1 VALID  NORMAL     ASC
             I_TDCL_ARC_PL_STK      STOCK_CD         1 VALID  NORMAL     ASC
             I_TDCL_ARC_PL_STK      PL_CD           2 VALID  NORMAL     ASC
             I_TDCL_ARC_SETTLED_DATE   SETTLED_DATE       1 VALID  NORMAL     ASC
             I_TDCL_ARC_STL_DATE_CASH   STL_DATE_CASH       1 VALID  NORMAL     ASC
             I_TDCL_ARC_STL_DATE_STOCK  STL_DATE_STOCK      1 VALID  NORMAL     ASC
             I_TDCL_ARC_TRADE_DATE    TRADE_DATE        1 VALID  NORMAL     ASC
             PK_CLIENT_TRADE_TBL     BUSINESS_DATE       1 VALID  NORMAL     ASC
             PK_CLIENT_TRADE_TBL     REF_ID          2 VALID  NORMAL     ASC
             UNI_TDCL_ARC_REF_ID     REF_ID          1 VALID  NORMAL     ASC
            
--從上面的查詢結果可知,當前表TRADE_CLIENT_TBL上含有13個索引,應該來說該表索引存在一定冗余。
--大多數情況下,單表上6-7個索引是比較理想的。過多的索引導致過大的資源開銷,以及降低DML性能。
2、索引創建的基本指導原則
     索引的創建應遵循精而少的原則
     收集表上所有查詢的各種不同組合,找出具有最佳離散度的列(或主鍵列等)創建單索引
     對于頻繁讀取而缺乏比較理想離散值的列為其創建組合索引
     對于組合索引應考慮下列因素來制定合理的索引列順序,以下優先級別由高到低來作為索引的前導列,第二列等等
           列被使用的頻率
           該列是否經常使用“ = ”作為常用查詢條件
           列上的離散度
           組合列經常按何種順序排序
           哪些列會作為附件性列被添加
3、索引質量分析腳本

--script name: idx_quality.sql   --Author : Leshami --Blog: http://blog.csdn.net/leshami
--index quality retrieval
SET LINESIZE 145
SET PAGESIZE 1000
SET VERIFY OFF

CLEAR COMPUTES
CLEAR BREAKS

BREAK ON table_name ON num_rows ON blocks

COLUMN owner FORMAT a14 HEADING 'Index owner'
COLUMN table_name FORMAT a25 HEADING 'Table'
COLUMN index_name FORMAT a25 HEADING 'Index'
COLUMN num_rows FORMAT 999G999G990 HEADING 'Table|Rows'
COLUMN MB FORMAT 9G990 HEADING 'Index|Size MB'
COLUMN blocks HEADING 'Table|Blocks'
COLUMN num_blocks FORMAT 9G990 HEADING 'Data|Blocks'
COLUMN avg_data_blocks_per_key FORMAT 999G990 HEADING 'Data Blks|per Key'
COLUMN avg_leaf_blocks_per_key FORMAT 999G990 HEADING 'Leaf Blks|per Key'
COLUMN clustering_factor FORMAT 999G999G990 HEADING 'Clust|Factor'
COLUMN Index_Quality FORMAT A13 HEADING 'Index|Quality'

--SPOOL index_quality

SELECT i.table_name,
     t.num_rows,
     t.blocks,
     i.index_name,
     o.bytes / 1048576 mb,
     i.avg_data_blocks_per_key,
     i.avg_leaf_blocks_per_key,
     i.clustering_factor,
     CASE
      WHEN NVL (i.clustering_factor, 0) = 0 THEN '0-No Stats'
      WHEN NVL (t.num_rows, 0) = 0 THEN '0-No Stats'
      WHEN (ROUND (i.clustering_factor / t.num_rows * 100)) < 6 THEN '5-Excellent'
      WHEN (ROUND (i.clustering_factor / t.num_rows * 100)) BETWEEN 7 AND 11 THEN '4-Very Good'
      WHEN (ROUND (i.clustering_factor / t.num_rows * 100)) BETWEEN 12 AND 15 THEN '2-Good'
      WHEN (ROUND (i.clustering_factor / t.num_rows * 100)) BETWEEN 16 AND 25 THEN '2-Fair'
      ELSE '1-Poor'
     END
      index_quality
  FROM dba_indexes i, dba_segments o, dba_tables t
  WHERE
   --  i.index_name LIKE UPPER ('%&&1%') AND
     i.owner = t.owner
     AND i.table_name = t.table_name
     AND i.owner = o.owner
     AND i.index_name = o.segment_name
     AND t.owner = UPPER('&input_owner')
     AND t.table_name LIKE UPPER('%&input_tbname%')
ORDER BY table_name,
     num_rows,
     blocks,
     index_quality DESC;

--SPOOL OFF;

===========================================================================================
--script name: idx_info.sql
--get the index column information by specified table
set linesize 180
col cl_nam format a20
col table_name format a25
col cl_pos format 9
col idx_typ format a15
SELECT b.table_name,
      a.index_name,
      a.column_name   cl_nam,
      a.column_position cl_pos,
      b.status,
      b.index_type   idx_typ,
      a.descend     dscd
FROM  dba_ind_columns a, dba_indexes b
WHERE a.index_name = b.index_name
      AND owner = upper('&owner')
      AND a.table_name LIKE upper('%&table_name%')
ORDER BY 2, 4;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
波霸ol色综合久久| 国产主播精品在线| 国内精品美女av在线播放| 中文字幕欧美视频在线| 国产精品久久久久久超碰| 久久久免费观看视频| 麻豆成人在线看| 久色乳综合思思在线视频| 视频直播国产精品| 成人啪啪免费看| 亚洲天堂av在线免费| 欧美性xxxx| 在线精品高清中文字幕| 91网站在线免费观看| 亚洲第一视频网| 亚洲第一网中文字幕| 精品亚洲aⅴ在线观看| 欧美专区日韩视频| 国产精品9999| 欧美区二区三区| 日韩精品中文字幕视频在线| 日韩成人av网址| 欧美精品中文字幕一区| 欧美精品videos另类日本| 亚洲精品www久久久久久广东| 国产日韩专区在线| 另类图片亚洲另类| 国产精品∨欧美精品v日韩精品| 97香蕉超级碰碰久久免费软件| 亚洲欧洲中文天堂| 亚洲级视频在线观看免费1级| 亚洲黄色在线看| 欧美极品少妇xxxxⅹ喷水| 在线播放国产一区中文字幕剧情欧美| 在线视频日本亚洲性| 亚洲美女自拍视频| 日韩久久午夜影院| 久久最新资源网| 国产成人一区二| 国产成人久久久精品一区| 国产深夜精品福利| 久久久精品一区二区| 国模吧一区二区三区| 精品二区三区线观看| 91精品免费看| 日日噜噜噜夜夜爽亚洲精品| 成人a在线观看| 播播国产欧美激情| 91精品国产综合久久久久久久久| 国产精品久久久久久久久久久久| 欧美二区在线播放| 久久福利网址导航| 久久精品久久久久| 亚洲第一视频在线观看| 日韩黄色在线免费观看| 久久精品99国产精品酒店日本| 亚洲最大福利网站| 欧美电影免费在线观看| 国产91精品视频在线观看| 亚洲字幕一区二区| 久久久精品视频成人| 国产成人亚洲综合青青| 亚洲第一男人天堂| 国产成一区二区| 亚洲激情第一页| 日韩国产精品一区| 欧美激情欧美激情在线五月| 日韩av中文字幕在线| 国产精品美女免费视频| 久久久国产在线视频| 亚洲丁香婷深爱综合| 成人观看高清在线观看免费| 国产精品入口免费视频一| 红桃av永久久久| 精品美女国产在线| 欧美激情手机在线视频| 亚洲精选一区二区| 欧美日韩aaaa| 亚洲男人的天堂在线| 成人性生交xxxxx网站| 欧美孕妇毛茸茸xxxx| 欧美日韩激情视频8区| 一区二区欧美久久| 欧美激情亚洲国产| 日韩精品视频在线观看免费| 国产精品视频导航| 91干在线观看| 日韩精品免费综合视频在线播放| 欧美精品性视频| 国产精品中文字幕在线观看| 黑人狂躁日本妞一区二区三区| 人人爽久久涩噜噜噜网站| 少妇精69xxtheporn| 亚洲韩国青草视频| 欧美性生交xxxxx久久久| 国产精品露脸av在线| 久久频这里精品99香蕉| 欧美亚洲一级片| 国产精品久久久av久久久| 成人美女免费网站视频| 精品国产乱码久久久久酒店| 日韩精品极品毛片系列视频| 中国china体内裑精亚洲片| 91情侣偷在线精品国产| 在线丨暗呦小u女国产精品| 成人av在线天堂| 国产精品视频白浆免费视频| 国产午夜精品一区二区三区| 国产精品高潮呻吟久久av无限| 国产精品美女视频网站| 欧美最猛性xxxxx免费| www.亚洲一二| 亚洲情综合五月天| 亚洲欧美日本精品| 色综合久综合久久综合久鬼88| 欧美成人免费视频| 亚洲成人av片在线观看| 成人福利视频网| 精品国产一区二区三区久久狼黑人| 国产一区二区在线播放| 全亚洲最色的网站在线观看| 国产精品扒开腿做爽爽爽男男| 国产色婷婷国产综合在线理论片a| 欧美黄色片视频| 中文字幕精品—区二区| 91理论片午午论夜理片久久| 日韩在线免费av| 97精品国产aⅴ7777| 日韩欧美一区视频| 欧美电影在线免费观看网站| 欧美性感美女h网站在线观看免费| 欧美在线日韩在线| 日韩中文字幕视频在线观看| 欧美刺激性大交免费视频| 国产免费一区二区三区在线能观看| 午夜精品国产精品大乳美女| 在线色欧美三级视频| 亚洲永久在线观看| 精品女同一区二区三区在线播放| 国产成一区二区| 亚洲午夜未删减在线观看| 亚洲精品456在线播放狼人| 国产91精品最新在线播放| 精品网站999www| 国产亚洲xxx| 久久精品青青大伊人av| 国产日韩在线看片| 亚洲在线一区二区| 成人激情视频在线| 亚洲欧美成人精品| 国产a级全部精品| 亚洲自拍偷拍第一页| 97久久超碰福利国产精品…| 欧美乱大交做爰xxxⅹ性3| 一本色道久久88综合日韩精品| 不卡av在线网站| 欧美国产视频日韩| 欧美日韩国产综合视频在线观看中文| 日韩在线播放一区| 一区二区三区亚洲| 国产亚洲一级高清| 国产日本欧美视频| 久久不射热爱视频精品| 欧美在线视频网站|