如何查找删除索引后将受影响的计划 (PLANS)?
DB2 计划包含所有可执行形式的 SQL 语句。要执行任何 COBOL-DB2 程序,我们需要提供其对应的计划。DB2 优化器将评估计划中 SQL 的访问路径,以获取 COBOL-DB2 程序的结果。计划中的 SQL 可能会使用多个索引。索引有助于基于键值搜索表,并加快查询处理时间。
如果删除任何索引,则可能会对包含使用该已删除索引的 SQL 的计划产生负面影响。因此,作为影响分析的一部分,找出删除任何索引后将受影响的计划非常必要。
存在 DB2 系统表 SYSPLANDEP。此表存储计划对其他 DB2 对象的依赖关系。我们可以在此表上使用以下 SQL 查询来找出删除任何索引后所有受影响的计划。
示例
SELECT BNAME, DNAME FROM SYSIBM.SYSPLANDEP WHERE BTYPE = ‘I’ AND BNAME = ‘’
BNAME 列指示索引的名称,DNAME 指示计划的名称。BTYPE 是 DB2 对象类型。对于索引为“I”,视图为“V”,别名为“A”等等。
广告