Oracle联合索引

Oracle联合索引Oracle联合索引分类:Oracle2012-12-0809:352110人阅读评论(0)收藏举报我现在用的是oracle9i1.一个表建立多少个索引比较合适?比如说不大于5个这个没有定论,楼主要综合查询效率和dml效率自己确定,索引可以加快select的查询速度,但也会降低delete,insert和update等dml语句的执行速度。2.联…

大家好,又见面了,我是你们的朋友全栈君。Oracle 联合索引

分类: Oracle 2012-12-08 09:35 2110人阅读 评论(0) 收藏 举报

我现在用的是oracle 9i

1.一个表建立多少个索引比较合适?比如说不大于5个

这个没有定论,楼主要综合查询效率和dml效率自己确定,索引可以加快select的查询速度,但也会降低delete,insert和update等dml语句的执行速度。

2.联合索引比单索引的效率高么?

如果联合索引中的多个字段都在where谓词中出现了,则联合索引效率比单列索引高,因为通过多个条件可以从索引中过滤得到更少的记录条数,也就减少了需要回表扫描的次数,甚至可以直接在联合索引中得到所查的所有结果,则不再需要回表。

但是由于多列的联合索引肯定要比单列索引大,也就是说同样的索引需要存储的物理块要多于单列索引,所以,如果查询中只出现了联合索引中的某一列,则其效率不如单列索引。

3.compress 这个压缩 ,能起到什么作用?

没研究过

4.上网上查资料时,都说oracle使用联合索引需要前导列,这个和版本有关系吗?

前导列跟版本没有关系。

前导列的概念是这样的,如果建立了f1,f2上的联合索引,则在查询时必须要用到f1,也就是所谓的前导列,该索引才会有效,因为索引是按照前导列排序的,如果where条件谓词中没有前导列,则需要执行索引扫描才能得到想要的结果,这种情况下其效率往往较差。

5.如果不需要前导列的话,reverse 这个反转 又起到什么作用呢?

鉴于前面描述的前导列的概念,我们考虑如下表存储table(f1,f2);

aa 1

ab 2

ac 3

ad 4

ae 5

如果我们对表table建立f1上的普通索引,由于按照f1进行排序,所以针对where f1=ad则需要遍历所有的a开始的索引,而如果对f1建立reverse索引,则由于da只有一个,则可以更快的得到需要的结果。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141014.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java在线编辑_十大在线编译器(IDE),干货收藏!

    java在线编辑_十大在线编译器(IDE),干货收藏!文章来源:网络整理:薛定谔的coding猫1.CodeSandbox(基于React的在线代码沙盒平台)①主流的脚手架都支持,比如在线create-react-app,vue-cli等(在线fork修改),支持github登录(项目导入),也支持cli上传例子,例子可以在线访问和下载,当然也支持内嵌到其他博客等网页中。②地址:https://codesandbox.i…

    2022年7月8日
    150
  • python之路

    python之路

    2021年9月15日
    86
  • 生成initramfs_windows引导文件

    生成initramfs_windows引导文件在制作Initramfs文件系统之前,我先简单介绍下linux各文件系统。linux支持多种文件系统类型,包括ext2,ext3,vfat,jffs,ramfs,nfs等,为了对各类文件系统进行统一管理,linux引入了虚拟文件系统vfs(virtualfilesystem),为各类文件系统提供一个统一的应用编程接口。文件系统类型主要有如下:根据存储设备的硬件特性,…

    2022年8月11日
    8
  • 频次最高的38道selenium面试题及答案(上)「建议收藏」

    频次最高的38道selenium面试题及答案(上)「建议收藏」1、selenium的原理是什么?selenium的原理涉及到3个部分,分别是:浏览器 driver:一般我们都会下载driver client:也就是我们写的代码client其实并不知道浏览器是怎么工作的,但是driver知道,在selenium启动以后,driver其实充当了服务器的角色,跟client和浏览器通信,client根据webdriver协议发送请求给driver,driver解析请求,并在浏览器上执行相应的操作,并把执行结果返回给client。这就是seleniu…

    2022年6月20日
    58
  • web渗透测试工具大全_web安全攻防渗透测试实战指南 pdf

    web渗透测试工具大全_web安全攻防渗透测试实战指南 pdf一、渗透测试工具nmap,查看网站服务器开放的端口1、查看服务器上运行的服务$nmap-sVhack-test.com2、查看操作系统版本$nmap-Ohack-test.com二、使用Nikto来收集漏洞信息#官方网站:https://cirt.net/nikto2#wgethttps://cirt.net/nikto/nikto-2.1.5.

    2022年8月12日
    9
  • bcd码与十进制转换方法_5421bcd码转换十进制

    bcd码与十进制转换方法_5421bcd码转换十进制BCD码其实就是之前在数字电路中说的用4位二进制数值来表示一个0-9中的数字,例如:0000=00001=10010=20011=3也就是说如果把一个数字作为一个BCD码,例如:112

    2022年8月6日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号