您将如何在COBOL-DB2程序中实现直接索引查找?
当WHERE子句谓词中使用的所有列都是索引的一部分时,DB2优化器将选择直接索引查找。
例如,如果我们有如下所示的ORDERSDB2表。
在此表中,建立了一个索引,该索引具有名为ORDER_ID和ORDER_DATE的列。对于以下查询,DB2优化器将选择直接索引查找,因为SELECT语句中使用的列也是索引的一部分。
示例
SELECT ORDER_ID, ORDER_DATE, INVOICE_ID FROM ORDERS WHERE ORDER_ID = ‘Z33412’ AND ORDER_DATE = ‘14-08-2020’
以上查询的结果如下。
在上面的查询中,WHERE子句在作为主键一部分的两列上都有谓词,因此它们的索引应该已经存在。在这种情况下,优化器可以使用这些索引在索引空间中查找并从数据空间检索相应的数据(在这种情况下为INVOICE_ID)。
与其他访问方法相比,这种访问方法非常快,因为优化程序不必在数据页中查找所需的数据。所有信息都已在索引页中,这大大降低了SQL成本。
理想情况下,仅当我们只需要检查表中行/数据是否存在时,才使用这些类型的查询。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短