如何列出程序使用的DB2索引?
当然,我已经有了一个查询,可以列出使用SYSTABAUTH的程序使用的表。。。
但我需要类似的东西,让我看到程序使用了哪些索引,以及哪些程序使用了特定的索引。
数据库使用索引,特别是在执行命令时。一个程序可能会连接到您的数据库并使用一些索引,但如果有多个程序连接到数据库,则很难找出哪个程序正在使用哪个索引。然而,这个查询正在检测未使用的索引,即任何程序都没有使用的索引:
SELECT INDSCHEMA, INDNAME, TABNAME
FROM SYSCAT.INDEXES
WHERE LASTUSED = '01/01/0001';
您可以将LASTUSED
调整为最近的日期,以查找自您定义的给定时刻以来未使用的索引。
如果您需要了解程序使用了哪些索引,那么您可以执行以下操作:
- 导出数据库
- 将数据库的副本导入为其他数据库
- 在连接到另一个数据库(长时间(的同时测试程序
- 不要将任何其他程序连接到数据库
- 除了程序的操作外,不要对数据库执行任何操作
- 查找自导入数据库副本5分钟后一直未使用的索引(以排除导入后的任何索引戳(