DB2优化器在数据库的整体性能中起着重要作用。优化器为每个查询选择最佳访问路径,通过该路径可以从数据库中获取数据。它标识要遵循的索引,查询谓词等。
优化器自动选择访问路径,我们可以使用EXPLAIN DB2命令轻松找到访问路径。我们必须首先设置查询号,然后通过三个简单的步骤提供SQL查询以找出其访问路径。
例如,
我们有一个DB2 ORDERS表,并且我们想检查在ORDER_DATE列上有一个谓词的SELECT查询。
步骤1:执行以下EXPLAIN命令并设置查询编号,然后在下面设置SELECT查询广告。
EXPLAIN PLAN SET QUERYNO=23445 FOR SELECT ORDER_ID FROM ORDERS WHERE ORDER_DATE = ‘12-08-2020’
步骤2:上述EXPLAIN命令将使用相关查询更新PLAN表,并说明详细信息。执行以下命令以查看PLAN表中的详细信息。
SELECT * FROM PLAN_TABLE WHERE QUERYNO = 23445
步骤3:以上查询的结果将提供以下详细信息。
访问类型
比赛
存取名称
指数
ACCESTYPE列包含访问方法的详细信息,例如索引扫描,仅索引扫描等。MATCHCOLS列存储用于索引扫描的索引键的数量。ACCESSNAME列存储用于索引扫描的索引的名称,而INDEXONLY列告诉我们是否可以从索引本身获取数据。