DB2 IN-list访问,索引扫描,TS扫描

时间:2012-11-18 18:41:34

标签: sql db2

我正在研究IBM DB2,我得到了一个关于访问类型的问题。

我不确定在查询中决定IN-list访问,索引扫描,TS扫描的方法。

例如,我们有

SELECT * FROM T
 WHERE C1=1 AND C2 IN (1,2,3)
    AND C3>0 AND C4<100;

然后,它将是IN列表访问,因为查询包含IN语句。 但是,C1和C3或者如果有索引则可能是索引扫描。 为什么我们不得不说这个查询是“IN list access?”

你能给我一个索引扫描和TS扫描的例子吗?

我真的不明白这部分

1 个答案:

答案 0 :(得分:1)

告诉您获得哪种访问路径的唯一方法是从EXPLAIN PLAN获取输出。您无法查看查询(不了解可用索引,列基数等)并确定优化程序将执行的操作。

DB2的优化器是基于成本的,并且将选择它计算的访问计划在CPU,磁盘访问和内存方面最有效。使用EXPLAIN PLAN或Visual Explain工具可以查看优化程序选择的内容。