如何找出索引被删除会影响的计划?
DB2PLAN包含所有可执行形式的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'表示别名等。