oracle学习笔记--三大索引.pptx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle学习笔记--三大索引.pptx

索引(index) 索引:B树索引(B-Tree index) 位图索引(Bitmap index) 全文索引(Text index) 三种不同类型的索引适用的范围不同。 B树索引 一、B树索引存储结构(工作机制): B树索引 二、B树索引适用范围: 1)主键或者唯一性约束 2)重复度非常低的字段 三、B树索引的特性 1)执行效率非常高 2)查询时间基本不受数据量的影响 3)如果重复度非常高的话,使用B-Tree索引还没有全表扫描执行效率高。 B树索引 四、B树索引实例: 1)创建索引 create index idx_t on t1(id); 2)使用索引 select * from t1 where id=100; 五、注意 列上有索引时,不要使用null(id is (not) null),函数(id+1030)和范围(id20)这样的筛选条件。这些条件会在动态采样后,采用全表扫描的方式查询,而不采样索引方式,其它索引类型也一样。 位图索引 一、位图索引存储结构 当一个表上的某个(几个)字段的数值有明显的大量重复时,比如字段是国家、地区、职位、性别等,或者该字段为其它的一些标志性信息(T/F/Q)等等,并且数据量非常巨大时,我们就应该考虑使用位图索引。 位图索引 二、位图索引适用范围 位图索引从Oracle7.3就被引入进来,用来解决B树索引在查询时遇到的一些问题,主要是重复数据导致的查询性能低的问题。 三、位图索引特性 1、位图索引适合在索引字段间进行or与and这样的逻辑运算操作。 2、位图索引占用的空间比B树索引少的多 3、位图索引不适用于大量的DML操作除select外,因为每个DML操作对应的位图索引键值对应多条数据,修改时键值会被枷锁,如果此时其它用户需要更改这里面的其它数据,就会造成阻塞。 四、实例 create bitmap index bitmap_idx_t2 on t2(id); 位图索引 五、注意 位图索引不适合大量或者批量insert /update操作,容易造成死锁 全文索引 一、全文索引存储结构 全文索引适用于语言文字范畴,它的属性和语言位子的属性直接相关,比如字、词、短语等,全文索引就是通过将文字按照某种语言进行词汇拆分,重新将数据组合存储,来达到快速检索的目的,例如 where name like ‘%Tom%’。 二、适用范围 1、模糊查询 2、数据库空间充足,因为全文索引比较占用空间。 三、特性 1、适用于不变的数据,例如历史数据查询等。因为DML操作的新数据是不会在全文索引中包含的。 2、由于全文索引不是基于事物的,如果一旦有DML操作时,需要手动重新构建这个全文索引: alter index t_idx rebuild parameters(‘sync’); 全文索引 四、实例 1、创建索引 create index t2_text_idx on t2(name) indextype is ctxsys.context; 2、手动重组全文索引 alter index t2_text_idx rebuild parameters(‘sync’); 3、使用全文索引 select * from t2 where contains(name ,’h’)0; 全文索引 五、注意 全文索引不适合频繁的insert /update操作,因为需要手动重建索引。 update 操作相当于一个delete 和一个insert操作,故update操作也需要手动重组索引。 OVER

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档