复合索引的第一列一定要出现在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 nullORACLE复合索引使用 注意事项
转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Mysql创建索引注意事项
介绍了mysql索引相关的基础知识及索引自身搜索的规则和锁机制,并列了一些创建索引的一些优化策略或小tips...
编程环境 个人杂谈 SQL mysql 索引 -
MySQL索引使用及注意事项
一、索引的作用 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题, ...
mysql 字段 主键 数据库 sql -
线性代数和数据挖掘(三):Matplotlib库和数据可视化
Matplotlib库和数据可视化
#线性代数 #数据挖掘 #matplotlib 子图 数据
















