AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 150601
Accepted
Lucas
Lucas
Asked: 2016-09-26 10:52:14 +0800 CST2016-09-26 10:52:14 +0800 CST 2016-09-26 10:52:14 +0800 CST

db2 reorgchk 显示在 reorg/runstats 之后立即需要 reorg

  • 772

我做了一个reorgchk,它显示了一些需要重组的索引。所以我运行了这个脚本:

FORCE APPLICATIONS ALL;
CONNECT TO DOMINOS;
-- [SYSIBM].[SYSTABLES].[INDTABLES01]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSTABLES REBUILD;
-- [SYSIBM].[SYSPLAN].[INDPLAN03]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSPLAN REBUILD;
-- [SYSIBM].[SYSVIEWDEP].[INDVIEWDEP01]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSVIEWDEP REBUILD;
-- [SYSIBM].[SYSPLANAUTH].[INDPLANAUTH02]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSPLANAUTH REBUILD;
-- [SYSIBM].[SYSVARIABLES].[INDVARIABLES03]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSVARIABLES REBUILD;
-- [SYSIBM].[SYSDATAPARTITIONS].[INDDATAPARTITIONS03]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSDATAPARTITIONS REBUILD;
-- [SYSIBM].[SYSROUTINES].[INDROUTINES10]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSROUTINES REBUILD;
-- [SYSIBM].[SYSDEPENDENCIES].[INDDEPENDENCIES03]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSDEPENDENCIES REBUILD;
-- [SYSIBM].[SYSCOLUMNS].[INDCOLUMNS02]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSCOLUMNS REBUILD;
-- [SYSIBM].[SYSPLANDEP].[INDPLANDEP01]: [*----];
REORG INDEXES ALL FOR TABLE SYSIBM.SYSPLANDEP REBUILD;
RUNSTATS ON TABLE SYSIBM.SYSTABLES WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSPLAN WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSVIEWDEP WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSPLANAUTH WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSVARIABLES WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSDATAPARTITIONS WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSROUTINES WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSDEPENDENCIES WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSCOLUMNS WITH DISTRIBUTION AND DETAILED INDEXES ALL;
RUNSTATS ON TABLE SYSIBM.SYSPLANDEP WITH DISTRIBUTION AND DETAILED INDEXES ALL;

然后reorgchk再次运行,才发现他们仍然需要重组(向右滚动):

Index: SYSIBM.INDCOLUMNS02
                               8212    14     0    2     0      15           19            19                822                 822                0  79  97   -   0   0 *----
--
Index: SYSIBM.INDDATAPARTITIONS01
                                214     3     0    2     0     214           34            34                710                 710                0  75 132   -   0   0 *----
--
Index: SYSIBM.INDDATAPARTITIONS03
                                214     3     0    2     0     214           31            31                628                 628                0  75 120   -   0   0 *----
--
Index: SYSIBM.INDDATAPARTITIONS05
                                214     3     0    2     0     214           31            31                628                 628                0  75 120   -   0   0 *----
--
Index: SYSIBM.INDDEPENDENCIES01
                               1691    46     0    3     0    1691           82            82                318                 318                0  75  89  72   0   0 *----
--
Index: SYSIBM.INDDEPENDENCIES03
                               1691    12     0    2     0     601           45            45                476                 476                0  78  93   -   0   0 *----
--
Index: SYSIBM.INDPLAN01
                                373     5     0    2     0     373           30            30                516                 516                0  56  98   -   0   0 *----
--
Index: SYSIBM.INDPLAN03
                                373     4     0    2     0     373           24            24                710                 710                0  56 117   -   0   0 *----
--
Index: SYSIBM.INDPLANAUTH01
                                499     8     0    2     0     499           43            43                566                 566                0  67 102   -   0   0 *----
Index: SYSIBM.INDPLANAUTH02
                                499     4     0    2     0     373           22            22                822                 822                0  70 120   -   0   0 *----
--
Index: SYSIBM.INDROUTINES01
                               1079    15     0    2     0    1079           36            36                566                 566                0  80  96   -   0   0 *----
Index: SYSIBM.INDROUTINES02
                               1079    17     0    2     0    1079           42            42                476                 476                0  67  93   -   0   0 *----
Index: SYSIBM.INDROUTINES03
                               1079    13     0    2     0     957           35            35                516                 516                0  67  97   -   0   0 *----
--
Index: SYSIBM.INDROUTINES06
                               1079    25     0    2     0    1079           69            69                262                 262                0  67  90   -   0   0 *----
--
Index: SYSIBM.INDROUTINES08
                               1079     7     0    2     0    1079           13            13                496                 496                0  59 104   -   0   0 *----
Index: SYSIBM.INDROUTINES09
                               1079     3     0    2     0     241            6             6                710                 710                0  80 111   -   0   0 *----
Index: SYSIBM.INDROUTINES10
                               1079    13     0    2     0     957           35            35                516                 516                0  67  97   -   0   0 *----
--
Index: SYSIBM.INDTABLES01
                                709     8     0    2     0     709           26            26                822                 822                0  69 105   -   0   0 *----
--
Index: SYSIBM.INDTABLES05
                                709     9     0    2     0     709           32            32                566                 566                0  69 100   -   0   0 *----
--
Index: SYSIBM.INDVARIABLES03
                                122     2     0    2     0     122           21            21                666                 666                0  58 103   -   0   0 *----
--
Index: SYSIBM.INDVIEWDEP01
                                934    19     0    2     0     934           56            56                476                 476                0  63  91   -   0   0 *----
--
Index: SYSIBM.INDVIEWDEP03
                                934     6     0    2     0     306           38            38                666                 666                0  65 100   -   0   0 *----
--

如您所见,它们都在 F4 公式中显示超出(*),并且根据文档:

如果公式1、2、3的计算结果没有超出公式设定的范围,而公式4、5、6的计算结果确实超出了设定的范围,那么建议进行指数重组。

db2 db2-10.5
  • 1 1 个回答
  • 1070 Views

1 个回答

  • Voted
  1. Best Answer
    MichaelTiefenbacher
    2016-09-26T12:34:24+08:002016-09-26T12:34:24+08:00

    这可能会发生,因为公式 4 是关于群集比率的。这是索引序列与数据序列的相关性。该文档还指出(同一页)

    索引的聚类率应大于80%。当在一个表上定义多个索引时,其中一些索引的聚簇率较低。(索引顺序和表顺序不一样)这是避免不了的。重组表时一定要指定最重要的索引。

    这就是为什么您有多个公式来确定重组的需要(和紧迫性)。

    • 1

相关问题

  • 从 DB2 迁移到 MySQL

  • 解释计划中的 TBSCAN GERROW 是什么意思?

  • 在 DB2 SQL 中模拟类似 REGEXP 的行为

  • z/OS 上 DB2 v9 上的 BLOB

  • 解释计划中的 HSJOIN 是什么意思?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve