返回顶部
首页 > 资讯 > 数据库 >Oracle中B-Tree、Bitmap和函数索引使用案例总结
  • 154
分享到

Oracle中B-Tree、Bitmap和函数索引使用案例总结

2024-04-02 19:04:59 154人浏览 泡泡鱼
摘要

目录 一、索引简介 1、索引是一个独立的数据库对象,和数据表table一样。在oracle中,数据库对象object都是通过段segment结构表示。我们在数据字典dba_seg


目录
Oracle中B-Tree、Bitmap和函数索引使用案例总结

一、索引简介

1、索引是一个独立的数据库对象,和数据表table一样。在oracle中,数据库对象object都是通过段segment结构表示。我们在数据字典dba_segment中,可以使用索引的名称搜索出与segment_name相等的字典项目

2、索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。

3、索引是建立在表上的可选对象;索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率

4、索引在逻辑上和物理上都与相关的表和数据无关,当创建或者删除一个索引时,不会影响基本的表;

5、索引一旦建立,在表上进行DML操作时(例如在执行插入、修改或者删除相关操作时),oracle会自动管理索引,索引删除,不会对表产生影响

6、索引对用户是透明的,无论表上是否有索引,sql语句的用法不变

7、Oracle数据库会为表的主键和包含唯一约束的列自动创建索引。

8、数据表和索引是可以分开进行存储的。通常,从性能角度考虑我们常将两者放置在不同的Tablespace中,这样做的目的主要是为了分散物理io

 

二、索引原理

1、若没有索引,搜索某个记录时(例如查找name='wjq')需要搜索所有的记录,因为不能保证只有一个wjq,必须全部搜索一遍

2、若在name上建立索引,oracle会对全表进行一次搜索,将每条记录的name值按照升序排列,然后构建索引条目(name和rowid),存储到索引段中,查询name为wjq时即可直接查找对应地方

3、创建了索引并不一定就会使用,oracle自动统计表的信息后,决定是否使用索引,表中数据很少时使用全表扫描速度已经很快,没有必要使用索引


 

三、索引的分类


您可能感兴趣的文档:

--结束END--

本文标题: Oracle中B-Tree、Bitmap和函数索引使用案例总结

本文链接: https://lsjlt.com/news/47624.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作