使用Oracle函数索引 提高查询效率

2010-10-25 10:55 佚名 互联网 我要评论(0) 字号:T | T

想要提高Oracle数据库的查询检索的效率,使用函数索引无疑是一个非常好的方法。下文对Oracle函数索引的使用作了详尽的阐述,供您参考。

AD:

使用Oracle函数索引,无疑是提高查询效率的有效方法之一。下面就为您详细介绍Oracle函数索引的使用方法,希望对您能有所帮助。

谈到任何对列的操作都可能导致全表扫描,例如:

  1. select * from emp where substr(ename,1,2)=’SM’;

但是这种查询在客服系统又经常使用,我们可以创建一个带有substr函数的基于Oracle函数索引,

  1. create index emp_ename_substr on eemp ( substr(ename,1,2) );

这样在执行上面的查询语句时,这个基于函数的索引将排上用场,执行计划将是(INDEX RANGE SCAN)。
上面的例子中,我们创建了基于函数的索引,但是如果执行下面的查询:

  1. select * from emp where substr(ename,1,1)=’S’

得到的执行计划将还是(TABLE ACCESS FULL),因为只有当数据列能够等式匹配时,基于函数的索引才能生效,这样对于这种索引的计划和维护的要求都很高。请注意,向表中添加索引是非常危险的操作,因为这将导致许多查询执行计划的变更。然而,如果我们使用基于函数的索引就不会产生这样的问题,因为Oracle只有在查询使用了匹配的内置函数时才会使用这种类型的索引

转载于:https://www.cnblogs.com/Mayvar/archive/2011/08/17/wanghonghua_20110817.html

oracle 函數索引(1)相关推荐

  1. oracle 按日输出 取整数,Oracle按日周月分組統計,及next_day()函數詳解

    1.概述 工作中遇到如下問題:統計周期內關鍵詞數,而這里的周期內最常用的就是日周月. 日月比較容易處理,周的話可以通過next_day()函數實現. 2.實例問題 如下,有一張表ljb_test,包括 ...

  2. oracle decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數

    oracle   decode(nvl(estimate_qty,0),0,1,estimate_qty) 函數 转载于:https://www.cnblogs.com/buy0769/p/40629 ...

  3. oracle里有没有stuff,STUFF函數在SQL Server和ORACLE中

    第一個問題是STUFF函數在SQL Server中.第二個問題是關於Oracle(8i)中的STUFF函數. 問題1:如何從列中刪除,我想要的東西? 例如,假設表: ID Country Paymen ...

  4. Oracle SQL 內置函數大全

    <<Oracle SQL 內置函數大全>>幻灯片:http://files.cnblogs.com/Dicky/Oracle_SQL_Function.rar   1SQL中的 ...

  5. oracle倍数四舍五入,Oracle 的 Round 函數(四舍五入)函数

    Oracle 的 Round 函數(四舍五入)函数 该函数用来返回一个四舍五入后的值 SELECT ROUND( number, [ decimalplaces ] ) from DUAL 參數: 必 ...

  6. oracle case grouping,ORACLE GROUPING函數的使用

    GROUPING函數可以接受一列,返回0或者1.如果列值為空,那么GROUPING()返回1:如果列值非空,那么返回0.GROUPING只能在使用ROLLUP或CUBE的查詢中使用.當需要在返回空值的 ...

  7. oracle中sysdate函数 ro,ORACLE常用函數

    一.to_date(欄位(字符串),格式)函數: 將字符串轉換成指定格式的date數據類型 例子: to_date('2017/11/29','yyyy/MM/dd') 二.to_char(欄位(日期 ...

  8. oracle case nvl,oracle中的nvl 、nvl2、decode、case when 函數的用法

    參考文檔:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html -- nvl函數 -- NVL( string1, repla ...

  9. sql server 函數

    sql server 函數 silver6 | 09 十二月, 2005 11:07 1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 ...

  10. SUBSTRING函數用法

    ---引用 ---從第二位開始,取三位   select SUBSTRING([價格條件],2,3) FROM [Ame_FSC_SEBGCelERP].[dbo].[物料採購價格信息表] SELEC ...

最新文章

  1. EasyPR-Java开源中文车牌识别系统工程部署
  2. 【KVM系列02】KVM的CPU 和内存虚拟化
  3. python爬取评论_python爬取网易云音乐评论
  4. 单击GridView进入编辑模式
  5. CF-1207 F. Remainder Problem(分块)
  6. Linux从入门到精通——磁盘与目录的容量(du、df)
  7. Linux系统【三】回收子进程
  8. 信息学奥赛一本通C++语言——1050:骑车与走路
  9. 深入Python字典的内部实现
  10. php自定义tcp协议,如何实现自定义协议?
  11. Git最好的CRLF(回车,换行)处理策略是什么?
  12. 微信小程序学习笔记-(11)-仿糗事百科
  13. ie浏览器服务器无响应怎么办,ie浏览器无响应怎么办
  14. Jenkins持续集成与部署
  15. 「三代组装」使用Pilon对基因组进行polish
  16. 【计算机组织与体系结构】实验三:流水线处理器
  17. height:unset在IE上无效
  18. 我自己的java软件开发职业规划
  19. android+捕获google账户+cancel按钮,MVVM: 这是一个android MVVM 框架,基于谷歌dataBinding技术实现...
  20. 疯狂的“元宇宙”炒房:有玩家囤了100套房,不到半年翻6倍

热门文章

  1. 在Redis集群技术上,你不可错过的四大集成者
  2. python中可迭代对象,迭代器,生成器的区别和联系
  3. 搞了一个迭代发布下SpringBoot Jar瘦身方案,老大给我打了个A+
  4. 自从在 IDEA 中用了热部署神器 JRebel,开发效率提升了 10 倍!
  5. 我的天!你竟然没有在SpringBoot中使用过异步请求和异步调用...
  6. Java虚拟机最多支持多少个线程?
  7. Python之父再度发声:我们能为中国的“996”程序员做什么?
  8. Android开源项目推荐之「最好用的Log」
  9. php将中文编译成字符串,PHP将汉字字符串转换为数组
  10. BAT脚本每隔30秒创建一个512兆文件(测试磁盘监控用)