首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle:强制使用索引

Oracle:强制使用索引
EN

Stack Overflow用户
提问于 2013-03-22 22:54:08
回答 3查看 121关注 0票数 0

我有两个索引:

代码语言:javascript
复制
CREATE INDEX NETATEMP.CAMBI_MEM_ANIMALI_ELF_T2A ON NETATEMP.CAMBI_MEM_ANIMALI_ELF_T2
(TELE_TESTATA_LETTURA_ID, ELF_DATA_FINE_FATTURAZIONE)

CREATE INDEX NETATEMP.LET_TESTATE_LETTURE1A ON NETATEMP.LET_TESTATE_LETTURE1
(TELE_STORICO_ID, TRUNC("TELE_DATA_LETTURA"))


CREATE TABLE NETATEMP.cambi_mem_animali_elf
AS
   SELECT   --/*+ parallel(forn 32)  */
            DISTINCT
            forn_fornitura_id,
            TRUNC (tele.TELE_DATA_LETTURA) TELE_DATA_LETTURA,
            forn.edw_partition,
            DECODE (SUBSTR (forn.TELE_TESTATA_LETTURA_ID, 1, 1), '*', 'MIGRATO', 'INTEGRA') Origine
     FROM   NETATEMP.cambi_mem_animali_elf_t2 forn,
            netatemp.let_testate_letture1 tele
            WHERE forn.tele_testata_lettura_id = tele.tele_storico_id
            --
            AND forn.ELF_DATA_FINE_FATTURAZIONE != TRUNC (tele.TELE_DATA_LETTURA)

它使用两个全表扫描。我简直不能理解为什么Oracle在那之后不同时查看索引和make以及索引范围扫描。我怎么才能强制这么做呢?

EN

回答 3

Stack Overflow用户

发布于 2013-03-22 23:24:34

这是因为散列连接不在连接谓词上使用索引。

有关所有细节,请阅读以下内容:http://use-the-index-luke.com/sql/join/hash-join-partial-objects

票数 3
EN

Stack Overflow用户

发布于 2013-03-23 06:11:38

您引用的列不包括在索引中,因此即使连接本身使用index会更快,Oracle仍然必须检索其余列的所有表块。

作为参考:根据统计数据,您可能会使用这两个查询中的第一个查询获得您正在寻找的索引连接,因为它只能通过索引进行解析,而第二个查询必须转到表中。

代码语言:javascript
复制
select count(*)
 from netatemp.cambi_mem_animali_elf_t2 forn
     ,netatemp.let_testate_letture1     tele
where forn.tele_testata_lettura_id = tele.tele_storico_id;


select count(*), min(forn.edw_partition)
 from netatemp.cambi_mem_animali_elf_t2 forn
     ,netatemp.let_testate_letture1     tele
where forn.tele_testata_lettura_id = tele.tele_storico_id;
票数 1
EN

Stack Overflow用户

发布于 2013-03-23 18:10:01

如果您有分区选项,那么可以考虑对连接列上的两个表进行散列分区。分区连接将极大地降低内存需求和连接溢出到磁盘的可能性。

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

https://stackoverflow.com/questions/15573388

复制
相关文章

相似问题

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