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