扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
RUNSTATS ON TABLE <SCHEMA_NAME>.STAFF ON ALL COLUMNS AND COLUMNS ((ID, DEPT)); RUNSTATS ON TABLE <SCHEMA_NAME>.ORG ON ALL COLUMNS AND COLUMNS ((MANAGER, DEPTNUMB)); |
8
TBSCAN
( 2)
33.5658
2
|
8
SORT
( 3)
33.4243
2
|
8
HSJOIN
( 4)
33.0363
2
/-----+-----\
35 8
TBSCAN TBSCAN
( 5) ( 6)
17.2334 15.3736
1 1
| |
35 8
TABLE: SKAPOOR TABLE: SKAPOOR
STAFF ORG
|
示例 5:查看多列统计信息
优化器利用两种类型的多列统计信息:索引 keycard 统计信息和列组统计信息。这个示例提供了查看表中可用多列统计信息的步骤。
选项 1. 使用 db2look 工具
db2look 工具用来生成 DDL 语句,从而重新创建数据库中定义的对象。可以使用 -m 选项来显示为这些对象收集的统计信息。
CREATE INDEX IX1 ON ORG (DEPTNUMB, DEPTNAME, MANAGER);
RUNSTATS ON TABLE <SCHEMA_NAME>.ORG ON ALL COLUMNS
AND COLUMNS ((DEPTNUMB, DEPTNAME, MANAGER, DIVISION, LOCATION))
WITH DISTRIBUTION AND INDEXES ALL;
|
db2look -d sample -e -a -m -t ORG -o org.ddl |
注意:使用 -h 选项查看关于 DB2look 工具的信息。
UPDATE SYSSTAT.COLGROUPS SET colgroupcard = 8
WHERE colgroupid IN (SELECT colgroupid
FROM SYSCAT.COLGROUPCOLS
WHERE tabschema = 'SKAPOOR ' AND tabname = 'ORG'
AND colname = 'DEPTNUMB' AND oridnal = 1)
AND colgroupid IN (SELECT colgroupid
FROM SYSCAT.COLGROUPCOLS
WHERE tabschema = 'SKAPOOR ' AND tabname = 'ORG'
AND colname = 'DEPTNAME' AND oridnal = 2)
AND colgroupid IN (SELECT colgroupid
FROM SYSCAT.COLGROUPCOLS
WHERE tabschema = 'SKAPOOR ' AND tabname = 'ORG'
AND colname = 'MANAGER' AND oridnal = 3)
AND colgroupid IN (SELECT colgroupid
FROM SYSCAT.COLGROUPCOLS
WHERE tabschema = 'SKAPOOR ' AND tabname = 'ORG'
AND colname = 'DIVISION' AND oridnal = 4)
AND colgroupid IN (SELECT colgroupid
FROM SYSCAT.COLGROUPCOLS
WHERE tabschema = 'SKAPOOR ' AND tabname = 'ORG'
AND colname = 'LOCATION' AND oridnal = 5)
AND colgroupid NOT IN (SELECT colgroupid
FROM SYSCAT.COLGROUPCOLS
WHERE tabschema = 'SKAPOOR '
AND tabname = 'ORG' AND oridnal = 6) ; |
注意:在 V8 FixPak 13 中,列组统计信息添加到了 db2look 工具中。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。