DB2中多索引和仅索引访问路径的用法和示例
问题:解释DB2Optimizer使用的多索引访问路径和仅索引访问路径之间的区别。举两个例子。
解
仅索引访问和多索引访问是DB2优化器为了获取查询结果而选择的访问路径类型。当SELECT查询中给定的所有列都存在于索引中时,将使用仅索引访问路径。在这种情况下,优化器不必转到数据页即可获取结果,所有数据在索引页中都可用。
例如,ORDERS表的主键为ORDER_ID,然后对于以下SQL查询,DB2优化器将选择仅索引访问。
示例
SELECT ORDER_ID FROM ORDERS.
多索引访问是SQL查询的WHERE子句基于两个或多个索引的谓词时,DB2优化器选择的访问路径。在这种情况下,将为每个索引(WHERE子句中的列)提取来自索引空间/数据空间的结果,然后按照WHERE子句中使用的逻辑运算符(AND,OR)将结果合并。
例如,如果ORDERSDB2表在ORDER_ID上具有主键,而在INVOICE_ID上具有唯一索引。下面的SQL查询将采用多索引访问路径。
示例
SELECT ORDER_ID, INVOICE_ID FROM ORDERS WHERE ORDER_ID IN (‘Z33476’, ’Z11674’, ‘Z88901’) AND INVOICE_ID IN (‘A19908’, ‘A90771’)
热门推荐
10 送女友表白祝福语简短
11 郭可盈老公生日祝福语简短
12 好姐妹生日祝福语 简短
13 甄嬛传祝福语简短
14 爱情祝福语简短励志短句
15 给哥哥高考祝福语简短
16 中班哥哥姐姐祝福语简短
17 分手快乐祝福语简短
18 剪简短的新年祝福语