如何找出索引被删除会影响的计划?

DB2 PLAN 包含所有可执行形式的 SQL 语句。要执行任何 COBOL-DB2 程序,我们需要提供其相应的 PLAN。DB2 优化器将评估 PLAN 中存在的 SQL 的访问路径,以获取 COBOL-DB2 程序的结果。PLAN 中的 SQL 可能使用多个索引。索引有助于基于键值的表搜索并加快查询处理时间。

如果删除任何索引,则可能会对包含使用该删除索引的 SQL 的计划产生负面影响。因此,作为影响分析的一部分,非常有必要找出如果任何一个指数被丢弃,将会受到影响的计划。

有一个 DB2 系统表 SYSPLANDEP。该表存储计划对其他 DB2 对象的依赖关系。如果删除任何索引,我们可以在此表上使用以下 SQL 查询来找出所有受影响的计划。

示例

SELECT BNAME, DNAME FROM SYSIBM.SYSPLANDEP
   WHERE BTYPE = ‘I’ AND BNAME = ‘’

BNAME 列表示索引名称,DNAME 列表示计划名称。BTYPE 是 DB2 对象类型。'I' 表示索引,'V' 表示视图,'A' 表示别名等。