联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
db2收集统计信息(runstats)
[db2inst1@xifenfei ~]$ db2 connect to xff Database Connection Information Database server = DB2/LINUX 9.5.9 SQL authorization ID = DB2INST1 Local database alias = XFF [db2inst1@xifenfei ~]$ db2 list tables Table/View Schema Type Creation time ------------------------------- --------------- ----- -------------------------- T_01XFF DB2INST1 T 2012-04-11-18.23.05.723478 T_02XFF DB2INST1 T 2012-04-11-18.30.26.639326 T_03XFF DB2INST1 T 2012-04-11-21.33.12.479480 3 record(s) selected. [db2inst1@xifenfei ~]$ db2 "select STATS_TIME from syscat.tables where tabname in('T_01XFF','T_02XFF','T_03XFF')" STATS_TIME -------------------------- 2012-04-12-04.35.07.539790 2012-04-11-19.55.12.023748 2012-04-11-22.20.07.016905 3 record(s) selected. --收集表和索引统计信息,包括数据分布 [db2inst1@xifenfei ~]$ db2 "runstats on table db2inst1.t_01xff on all columns with distribution and detailed indexes all" DB20000I The RUNSTATS command completed successfully. [db2inst1@xifenfei ~]$ db2 "select STATS_TIME from syscat.tables where tabname in('T_01XFF')" STATS_TIME -------------------------- 2012-04-28-23.43.23.904759 1 record(s) selected. --收集索引统计信息,如果表没有被收集,也会同时对表收集统计信息,对不会收集数据分布信息 [db2inst1@xifenfei ~]$ db2 "runstats on table db2inst1.t_02xff for indexes all" DB20000I The RUNSTATS command completed successfully. [db2inst1@xifenfei ~]$ db2 "select STATS_TIME from syscat.tables where tabname in('T_01XFF','T_02XFF')" STATS_TIME -------------------------- 2012-04-28-23.43.23.904759 2012-04-28-23.44.39.762858 2 record(s) selected.
db2 reorg操作
--删除部分表数据 [db2inst1@xifenfei ~]$ db2 "delete from t_01xff" DB20000I The SQL command completed successfully. [db2inst1@xifenfei ~]$ db2 "delete from t_03xff" DB20000I The SQL command completed successfully. --reorgchk检查是否需要进行reorg [db2inst1@xifenfei ~]$ db2 reorgchk on schema db2inst1 Doing RUNSTATS .... Table statistics: F1: 100 * OVERFLOW / CARD < 5 F2: 100 * (Effective Space Utilization of Data Pages) > 70 F3: 100 * (Required Pages / Total Pages) > 80 SCHEMA.NAME CARD OV NP FP ACTBLK TSIZE F1 F2 F3 REORG ---------------------------------------------------------------------------------------- Table: DB2INST1.T_01XFF 0 0 0 42 - 0 0 0 0 -** Table: DB2INST1.T_02XFF 371 0 42 42 - 152110 0 100 100 --- Table: DB2INST1.T_03XFF 0 0 0 83 - 0 0 0 0 -** ---------------------------------------------------------------------------------------- Index statistics: F4: CLUSTERRATIO or normalized CLUSTERFACTOR > 80 F5: 100 * (Space used on leaf pages / Space available on non-empty leaf pages) > MIN(50, (100 - PCTFREE)) F6: (100 - PCTFREE) * (Amount of space available in an index with one less level / Amount of space required for all keys) < 100 F7: 100 * (Number of pseudo-deleted RIDs / Total number of RIDs) < 20 F8: 100 * (Number of pseudo-empty leaf pages / Total number of leaf pages) < 20 SCHEMA.NAME INDCARD LEAF ELEAF LVLS NDEL KEYS LEAF_RECSIZE NLEAF_RECSIZE LEAF_PAGE_OVERHEAD NLEAF_PAGE_OVERHEAD F4 F5 F6 F7 F8 REORG -------------------------------------------------------------------------------------------------------------------------------------------------------------- Table: DB2INST1.T_01XFF Index: DB2INST1.I_T_01XFF 0 3 3 2 0 0 2 2 822 822 100 0 - 0 100 ----* -------------------------------------------------------------------------------------------------------------------------------------------------------------- CLUSTERRATIO or normalized CLUSTERFACTOR (F4) will indicate REORG is necessary for indexes that are not in the same sequence as the base table. When multiple indexes are defined on a table, one or more indexes may be flagged as needing REORG. Specify the most important index for REORG sequencing. Tables defined using the ORGANIZE BY clause and the corresponding dimension indexes have a '*' suffix to their names. The cardinality of a dimension index is equal to the Active blocks statistic of the table. --离线reorg index [db2inst1@xifenfei ~]$ db2 reorg table db2inst1.t_01xff index DB2INST1.I_T_01XFF allow read access DB20000I The REORG command completed successfully. --在线reorg table [db2inst1@xifenfei ~]$ db2 reorg table db2inst1.t_01xff inplace allow write access DB20000I The REORG command completed successfully. DB21024I This command is asynchronous and may not be effective immediately. [db2inst1@xifenfei ~]$ db2 reorg table db2inst1.t_03xff inplace allow write access DB20000I The REORG command completed successfully. DB21024I This command is asynchronous and may not be effective immediately. --证明异步操作完成 [db2inst1@xifenfei ~]$ ps -ef|grep db2reo db2inst1 1496 1311 0 00:24 pts/1 00:00:00 grep db2reo --检查reorg操作结果 [db2inst1@xifenfei ~]$ db2 reorgchk on schema db2inst1 Doing RUNSTATS .... Table statistics: F1: 100 * OVERFLOW / CARD < 5 F2: 100 * (Effective Space Utilization of Data Pages) > 70 F3: 100 * (Required Pages / Total Pages) > 80 SCHEMA.NAME CARD OV NP FP ACTBLK TSIZE F1 F2 F3 REORG ---------------------------------------------------------------------------------------- Table: DB2INST1.T_01XFF 0 0 0 1 - 0 0 - 0 --- Table: DB2INST1.T_02XFF 371 0 42 42 - 152110 0 100 100 --- Table: DB2INST1.T_03XFF 0 0 0 1 - 0 0 - 0 --- ---------------------------------------------------------------------------------------- Index statistics: F4: CLUSTERRATIO or normalized CLUSTERFACTOR > 80 F5: 100 * (Space used on leaf pages / Space available on non-empty leaf pages) > MIN(50, (100 - PCTFREE)) F6: (100 - PCTFREE) * (Amount of space available in an index with one less level / Amount of space required for all keys) < 100 F7: 100 * (Number of pseudo-deleted RIDs / Total number of RIDs) < 20 F8: 100 * (Number of pseudo-empty leaf pages / Total number of leaf pages) < 20 SCHEMA.NAME INDCARD LEAF ELEAF LVLS NDEL KEYS LEAF_RECSIZE NLEAF_RECSIZE LEAF_PAGE_OVERHEAD NLEAF_PAGE_OVERHEAD F4 F5 F6 F7 F8 REORG -------------------------------------------------------------------------------------------------------------------------------------------------------------- Table: DB2INST1.T_01XFF Index: DB2INST1.I_T_01XFF 0 1 0 1 0 0 2 2 822 822 100 - - 0 0 ----- -------------------------------------------------------------------------------------------------------------------------------------------------------------- CLUSTERRATIO or normalized CLUSTERFACTOR (F4) will indicate REORG is necessary for indexes that are not in the same sequence as the base table. When multiple indexes are defined on a table, one or more indexes may be flagged as needing REORG. Specify the most important index for REORG sequencing. Tables defined using the ORGANIZE BY clause and the corresponding dimension indexes have a '*' suffix to their names. The cardinality of a dimension index is equal to the Active blocks statistic of the table.