欢迎光临
我们一直在努力

DB2查看索引的使用情况

db2pd可以查看应用对数据库中的表和索引的访问情况

db2pd -db dbname -tcbstats all -file db2pd_tab_all.txt

有时候,你只想查看对某一个表和其上的索引的访问情况

db2pd -db dbname -tcbstats all tbspaceid=id1 tableid=id2

这里的id1,id2可以通过查询得到

db2 "SELECT TBSPACEID, TABLEID FROM SYSCAT.TABLES WHERE TABSCHEMA = 'SCHEMANAME' AND TABNAME = 'TABLENAME'"

在db2pd的输出 "TCB Index Stats:"部分,能看到索引的IID,和索引访问情况的信息 Scans,IxOnlyScns

自数据库启动以来,对某个索引的总访问次数就是: Scans + IxOnlyScns

如果想看索引名,可以通过下面的查询得到

db2 "SELECT INDSCHEMA, INDNAME FROM SYSCAT.INDEXES WHERE TABSCHEMA = 'SCHEMANAME' AND TABNAME = 'TABLENAME' AND IID = 3"

自DB2 9.7以后,可以用表函数轻松获得这些信息

SELECT

     SUBSTR(SI.INDSCHEMA, 1, 30) AS INDSCHEMA,

     SUBSTR(SI.INDNAME, 1, 30) AS INDNAME,

     MGI.INDEX_SCANS,

     MGI.INDEX_ONLY_SCANS

FROM

    TABLE(MON_GET_INDEX('EPRICER', 'CTMTTRN', -2)) as MGI,

    SYSCAT.INDEXES AS SI

WHERE

    MGI.TABSCHEMA = SI.TABSCHEMA

    AND MGI.TABNAME = SI.TABNAME

    AND MGI.IID = SI.IID

ORDER BY

    MGI.INDEX_SCANS DESC;

    

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。