Advertisement

oracle区分度公式中,区分度越大,则该列为主导列时的索引效果越好

阅读量:

本帖最后由 happywangkui 于 2014-11-10 22:16 编辑

直接上之前遇到的问题:

1、三个组合索引如下:

CREATE INDEX IDX_TRAD_SK_HKDAILY_STM ON TRAD_SK_HKDAILY

(SECUCODE,TDATE, MARKET)

CREATE INDEX IDX_TRAD_SK_HKDAILY_TSM ON TRAD_SK_HKDAILY

(TDATE, SECUCODE, MARKET)

CREATE INDEX IDX_TRAD_SK_HKDAILY_SMT ON TRAD_SK_HKDAILY

(SECUCODE, MARKE,TTDATE)

2、说明一下列的区分度:

TDATE:8000多个不同值

SECUCODE:1000多个不同值

MARKET:1个唯一值

区分度大小:TDATE>SECUCODE>MARKET

3、下面做三种测试:分别走上面不同索引:

第一种走:IDX_TRAD_SK_HKDAILY_STM索引

SELECT COUNT(ID)

FROM

(

SELECT /+ index(E IDX_TRAD_SK_HKDAILY_STM)/

rownum ID,

A.CDSY_SECUCODE_EID ,

A.SPTM_MARKETRELATION_EID

全部评论 (0)

还没有任何评论哟~