小编Sam*_*rdj的帖子

为什么oracle选择INDEX RANGE SCAN超过快速全指数扫描

我已经阅读了一些关于索引的文档,我做了一些例子,现在我有些疑惑.

我创建一个表并插入随机值,(一列有唯一值)列A NOT NULL我在A,B,C上创建一个索引.(B-TREE)

SELECT COUNT(*) FROM DEMO_FULL_INDEX_SCAN;
=1000
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM DEMO_FULL_INDEX_SCAN;

         A          B          C          D          E          F
---------- ---------- ---------- ---------- ---------- ----------
         1          7        109          1          1          1
         2         12         83          2          2          2
         3         21        120          3          3          3
         4         13         74          4          4          4
         5          2          1          5          5          5
...
Run Code Online (Sandbox Code Playgroud)

文档说明当所有查询值都在索引中时,值是从索引(INDEX FAST FULL SCAN)收集的,但这里优化器正在选择另一个操作.

EXPLAIN PLAN FOR
SELECT A,B,C FROM DEMO_FULL_INDEX_SCAN WHERE A = 1;
--------------------------------------------------------------------
| Id  | Operation            |  Name       | Rows …
Run Code Online (Sandbox Code Playgroud)

oracle indexing range database-scan

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

database-scan ×1

indexing ×1

oracle ×1

range ×1