首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的Oracle sql查询不使用联接列上的可用索引?

为什么我的Oracle sql查询不使用联接列上的可用索引?
EN

Stack Overflow用户
提问于 2022-02-15 11:40:43
回答 1查看 336关注 0票数 0

我已经执行了下面的查询,但是没有使用索引。

以下是下表可用的索引:我提供了为查询生成的解释计划。有人能告诉我为什么不使用索引吗?我也多次收集表的统计数据。

代码语言:javascript
复制
wms_area_master - Index name: WMS_AREA_MASTER_PK - Index columns: DC_CODE, DC_AREA
wms_bin_master - WMS_BIN_MASTER_IDX - DC_CODE, DC_AREA

EXPLAIN PLAN FOR 
SELECT *
from wms_area_master wam ,
wms_bin_master wbm       
where WAM.DC_CODE = wBM.DC_CODE
and WAM.DC_AREA = wBM.DC_AREA; 

select * from table(dbms_xplan.display);

Plan hash value: 2387754896
 
--------------------------------------------------------------------------------------
| Id  | Operation          | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |                 | 41079 |    12M|   252   (2)| 00:00:01 |
|*  1 |  HASH JOIN         |                 | 41079 |    12M|   252   (2)| 00:00:01 |
|   2 |   TABLE ACCESS FULL| WMS_AREA_MASTER |   217 | 32984 |     4   (0)| 00:00:01 |
|   3 |   TABLE ACCESS FULL| WMS_BIN_MASTER  | 41058 |  6214K|   248   (2)| 00:00:01 |
--------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   1 - access("WAM"."DC_CODE"="WBM"."DC_CODE" AND 
              "WAM"."DC_AREA"="WBM"."DC_AREA")
 
Note
-----
   - dynamic statistics used: dynamic sampling (level=2)
   - this is an adaptive plan
   - 1 Sql Plan Directive used for this statement

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-02-15 11:49:18

您的查询似乎没有任何谓词,只是联接条件,因此这里似乎没有任何使用索引的理由。因为您需要从两个表中读取所有数据,所以最快的方法是进行表扫描。使用索引不一定更快,做表扫描也不一定更慢--这取决于您需要访问多少数据。

如果查询中有限制返回的行的谓词,Oracle可能会发现对这些列使用索引是有利的。如果您的投影(select中的列)列表仅是索引的一部分,而不是表中的每一列,那么,如果索引段比表段要小得多,甲骨文可能会选择对索引进行全面扫描,而不是对表进行扫描。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71125804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档