※接続が必要
-- 全て DB2 REORGCHK CURRENT STATISTICS ON TABLE ALL -- スキーマを指定 DB2 REORGCHK CURRENT STATISTICS ON SCHEMA "[スキーマ名]" -- テーブルを指定 DB2 REORGCHK CURRENT STATISTICS ON TABLE "[スキーマ名]"."[テーブル名]"
テーブルおよびインデックスの統計情報を更新してから再編成を行うには、CURRENT STATISTICSをUPDATE STATISTICSに変更
-- テーブルを再編成 DB2 REORG TABLE "[スキーマ名]"."[テーブル名]" -- インデックスを再編成(全て) DB2 REORG INDEXES ALL FOR TABLE "[スキーマ名]"."[テーブル名]" -- インデックスを再編成(インデックス毎) DB2 REORG TABLE "[スキーマ名]"."[テーブル名]" INDEX "[スキーマ名]"."[インデックス名]" -- インデックスのクリーンアップのみ DB2 REORG INDEXES ALL FOR TABLE "[スキーマ名]"."[テーブル名]" CLEANUP ONLY -- インデックス再編成中のアクセス権限を指定 DB2 REORG INDEXES ALL FOR TABLE "[スキーマ名]"."[テーブル名]" [アクセス権限] -- アクセス権限 -- アクセス禁止 : ALLOW NO ACCESS -- 読取アクセス : ALLOW READ ACCESS -- 読書アクセス : ALLOW WRITE ACCESS
SELECT
'DB2 REORG TABLE "' || TABLE_SCHEMA || '"."' || TABLE_NAME || '"' AS REORG_CMD
FROM
SYSIBM.TABLES
WHERE
TABLE_SCHEMA = '[スキーマ名]'
AND TABLE_NAME IN ('[テーブル名1]'[, '[テーブル名2]'])
AND TABLE_TYPE = 'BASE TABLE'
ORDER BY
TABLE_SCHEMA
,TABLE_NAME
SELECT
'DB2 REORG INDEXES ALL FOR TABLE "' || TABLE_SCHEMA || '"."' || TABLE_NAME || '"' AS REORG_CMD
FROM
SYSIBM.TABLES
WHERE
TABLE_SCHEMA = '[スキーマ名]'
AND TABLE_NAME IN ('[テーブル名1]'[, '[テーブル名2]'])
AND TABLE_TYPE = 'BASE TABLE'
ORDER BY
TABLE_SCHEMA
,TABLE_NAME
SELECT
'DB2 REORG TABLE "' || TRIM(TABSCHEMA) || '"."' || TABNAME || '" INDEX "' || TRIM(INDSCHEMA) || '"."' || INDNAME || '"' AS REORG_CMD
FROM
SYSCAT.INDEXES T1
WHERE
TABSCHEMA = '[テーブルスキーマ名]'
AND TABNAME = IN ('[テーブル名1]'[, '[テーブル名2]'])
AND INDSCHEMA = '[インデックススキーマ名]'
AND INDNAME = IN ('[インデックス名1]'[, '[インデックス名2]'])
ORDER BY
TABSCHEMA
,TABNAME
,INDSCHEMA
,INDNAME