ITPub博客

首页 > 数据库 > 数据库开发技术 > DB2查看索引的使用情况

DB2查看索引的使用情况

原创 数据库开发技术 作者:zchbaby2000 时间:2018-09-21 16:47:35 0 删除 编辑

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;
    

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/725820/viewspace-2214705/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
喜欢各种数据库相关的开发,架构设计,运维和性能优化
  • 博文量
    242
  • 访问量
    91040