如何找出删除索引后会受影响的计划?
db2databasebig data analytics
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’ 表示别名,等等。

