查询中未使用索引

时间:2018-04-08 14:42:53

标签: sql oracle oracle11g

我有一个Oracle查询,可以表示如下。

 SELECT * FROM
 TABLE A
 LEFT OUTER JOIN B ON
 A.FACT_KEY=B.FACT_KEY AND
 A.ENTITY_ID=B.ENTITY_ID
 LEFT OUTER JOIN C ON
 A.FACT_KEY=C.FACT_KEY AND
 A.ENTITY_ID=C.ENTITY_ID AND
 C.CREATED_DT BETWEEN 201611 AND 201712
 LEFT OUTER JOIN D ON
 A.FACT_KEY=D.FACT_KEY AND
 A.ENTITY_ID=D.ENTITY_ID

表数量为:表A = 6000万,表B = 1.7亿, 表C = 1.5亿,表D = 2亿

我在表(Fact_key,Entity_id)列上有一个普通索引 B,C和D.我在created_dt列的CSS列上也有正常索引 表C

当我解释查询的计划时,我可以看到表B和D 进行全表扫描,表C用于 Table Access By Rowid 索引范围扫描

我有什么方法可以对表B和D

强制执行索引扫描

0 个答案:

没有答案