复合索引的第一列一定要出现在WHERE子句中。
一.like "%_" 百分号在前.
    例句:
用不到索引
SELECT
          CORP.BATCHCODE, CORP.CLITNO,  CORP.LOANBLAN
     FROM VI_CORPCLIT_INFO CORP
     WHERE CORP.BATCHCODE = '200910'用到索引
SELECT
          CORP.BATCHCODE, CORP.CLITNO
     FROM VI_CORPCLIT_INFO CORP
     WHERE CORP.BATCHCODE = '200910'
    四.字符型字段||'',并且SELECT、GROUP BY等子句中包含非复合索引列。
用不到索引
SELECT
          CORP.BATCHCODE, CORP.CLITNO,  CORP.LOANBLAN
     FROM VI_CORPCLIT_INFO CORP
     WHERE CORP.CLITNO||'' = '200910'用到索引
SELECT
          CORP.BATCHCODE, CORP.CLITNO
     FROM VI_CORPCLIT_INFO CORP
     WHERE CORP.CLITNO||'' = '200910'
    用不到索引
SELECT
          CORP.BATCHCODE, CORP.CLITNO,  CORP.LOANBLAN
     FROM VI_CORPCLIT_INFO CORP
     WHERE substr(CORP.CLITNO,1) = '200910'用到索引
SELECT
          CORP.BATCHCODE, CORP.CLITNO
     FROM VI_CORPCLIT_INFO CORP
     WHERE substr(CORP.CLITNO,1) = '200910'
     六。not in, not exist, <>
     七。当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况。
     八。基于cost成本分析(oracle因为走全表成本会更小):查询小表,或者返回值大概在10%以上
     九。有时都考虑到了但就是不走索引,drop了从建试试在
     十。B-tree索引 is null不会走,is not null会走,位图索引 is null,is not null