复合索引的第一列一定要出现在WHERE子句中。

一.like "%_" 百分号在前.

二.WHERE中单独引用复合索引里第一位置的索引列,并且SELECT、GROUP BY等子句中包含非复合索引列

例句:

用不到索引

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'

三.字符型字段为数字时在where条件里不添加引号.

四.字符型字段||'',并且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  都会走

oracle复合索引的使用方法,ORACLE复合索引使用 注意事项相关推荐

  1. 删除oracle数据库的三种方法,oracle数据库的删除方法详解

    oracle数据库的删除方法详解 1.图形界面删除 练习之前记得创建快照 执行命令之前要保证数据库属于open状态 SQL> alter database open; [oracle@local ...

  2. oracle 定义变量及使用方法,Oracle pl/sql变量定义和使用详解

    一.变量介绍 在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有: 1).标量类型(scalar) 2).复合类型(composite) --用于操作单条记录 3).参照类型(r ...

  3. oracle中函数怎么使用方法,Oracle中函数的使用

    1.decode () 例子:它的写法如下decode('a','b','c','d'),其中a,b,c,d可以是其他函数也可以是数值,依据我们自己的情况来使用,它的含义是如果a=b,那么结果显示c, ...

  4. oracle在分组内排序的方法,oracle 在分组内排序的方法(转载)

    oracle分析函数十分强大,我们只要掌握这些方法,更直接的说法就是知道这些分析函数的作用就能完成很多工作. 下边贴出这些函数,及简单应用. 其中我想对lag()和lead()函数坐下说明:lag() ...

  5. oracle+union+连接,union使用方法 oracle中union的用法

    定义了 union var{ uchar tempa[4]; ulong temp3; }; union var longdat小编们利用C语言定义一个简单的Union共用体结构. 你曾经喜欢小编,现 ...

  6. Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    先假设有这么一个表:   create table S_Depart    (       DepartId                         INT                   ...

  7. oracle行转列处理方法,oracle行转列解决办法

    oracle行转列 Cust prod 1       A 1       B 1       C 2       A 2       B Return Cust     Prod1     Prod ...

  8. oracle中split的使用方法,Oracle 自定义split 函数实例详解

    Oracle 自定义split 函数 Oracle没有提供split函数,但可以自己建立一个函数实现此功能.比如"abc defg  hijkl   nmopqr     stuvw  xy ...

  9. oracle count最快的方法,Oracle count哪种写法更快

    1)创建测试表 test@CISCOSYS> create table t as select * from dba_objects; 表已创建. test@CISCOSYS> updat ...

最新文章

  1. oracle siplugincol表,ORACLE 经常使用的命令工具-第三章:表
  2. java精确测量文本高度_Android精确测量文本宽高及基线位置的方法
  3. 利用AI技术自动测试游戏
  4. wcf http 返回图片
  5. idea打开vue项目后报错ESLint: Expected space or tab after ‘//‘ in comment.(spaced-comment)
  6. matlab anova 如何不画图,方差分析的数据处理和作图
  7. Day 16 Linux 文件属性
  8. SOS宣布与融合子公司成立一家合资企业,专注区块链资产和加密货币等业务
  9. VMware Linux RAID5 介绍
  10. sqlu8多阶级层次bom_心理学:有这二种“长相”的男人,往往层次很高,女人可多留意...
  11. Delft3d GRD及ENC问题
  12. 常用 javascript广告代码
  13. 0基础快速入门CSS技术栈(1)—图解详细阐述初识CSS(附详细案例源码解析过程)
  14. android自定义通知栏样式,Android 通知栏自定义样式
  15. OpenResty安装、启停止_linux
  16. 为什么能力越低的人,越容易产生对自己过高的评价?
  17. 离散学习--笛卡尔积
  18. 物联网培训预示着我们将进入智能时代
  19. 注册美国本土公司和离岸公司有什么不同
  20. 围棋打谱程序之棋盘类(包括提子,子串搜索,打劫,禁手等判断)

热门文章

  1. 龙珠激斗服务器一直维护,龙珠激斗初始角色哪个好 六大新手角色评析
  2. PHP接收Python的传值
  3. linux基本功系列之hostname实战
  4. edge浏览器如何把网页放到桌面_Edge浏览器怎么放到桌面 2种Edge浏览器快捷方式放桌面方法...
  5. 手机联系人头像包_三星Galaxy M30(全网通)忘记了手机密码可怎么办?
  6. php数字两位小数_php 数字(价格)保留两位小数
  7. win10系统跟旧版本软件不兼容的问题
  8. Python进阶--模块-re
  9. 二维Otsu算法的原理与实现
  10. 如何把epub格式转换成pdf格式?或直接打开?