Oracle数据库--索引讲义.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 第十章 索引 重点内容:创建索引。 学时:1-2课时。 HANMENG2010 本章内容 索引概述 B树索引与位图索引 创建索引 删除索引 查看索引 HANMENG2010 1、索引概述 索引是为了加速对表中元组的检索而创建的一种存储结构。 通过使用索引加速行的检索,但减慢更新的速度。 更新表中每条数据时都需要更新索引。 Oracle自动使用、维护索引。 HANMENG2010 编号 颜色 数量 尺寸 001 绿 3000 中 002 红 5000 中 003 红 6000 小 …. … ... … 编号 Rowid 001 002 003 … 图1 表和索引的关系 HANMENG2010 2、B树索引与位图索引 B树索引,即平衡树索引,是最常用的索引方式,结构类似于二叉树。 关键点:索引条目和数据行之间存在一一对应关系,即一条索引条目指向一行。 位图索引,适用于数据高度重复并且通常只读的数据。 关键点:一个索引条目使用一个位图同时指向多行。 HANMENG2010 图2 B树索引的逻辑结构 如何查找编号为1016的节点? HANMENG2010 B树索引的特点: 树的高度一般在2或3。 叶子节点中,每条索引目录指向某一行数据。 HANMENG2010 如何在emp表的job列创建一个位图索引? 值/行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ANALYST 0 0 0 0 0 0 0 1 0 1 0 0 1 0 CLERK 1 0 0 0 0 0 0 0 0 0 1 1 0 1 MANAGER 0 0 0 1 0 1 1 0 0 0 0 0 0 0 PTRSIDENT 0 0 0 0 0 0 0 0 0 1 0 0 0 0 SALESMAN 0 1 1 0 1 0 0 0 0 0 0 0 0 0 表1 位图索引 问题:select count(*) from emp where job=‘CLERK’ or job=‘MANAGER’; 怎么找到结果? HANMENG2010 3、管理索引 索引使用原则: 表中导入数据后再创建索引。否则每次表中插入数据时都必须更新索引。 在适当的表和字段上创建索引。如果经常检索的数据少于表中的15%则需要创建索引。 限制表中索引的数目。索引越多,在修改表时对索引做出的而修改的工作量越大。 HANMENG2010 eg:比较创建索引前后系统的开销。 SQL set autotrace on explain ---查询系统的开销,不显示查询结果。 SQL select ename from emp where ename=SMITH; | Id | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------- | 0 | 1 | 7 | 3 (0)| 00:00:01 | | Id | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------- | 0 | 1 | 7 | 1 (0)| 00:00:01 | SQL create index idx_emp on emp(ename); SQL select ename from emp where ename=SMITH; HANMENG2010 语法规则: CREATE [UNIQUE] [BITMAP] INDEX 索引名 ON 表名 (列名 …); (1)创建索引 eg: SQL create index idx_emp on emp(ename); HANMENG2010 其中: UNIQUE 表示建立唯一性索引,基于的列值必须唯一。 BITMAP 表示建立位图索引。 ASC/DESC 升序或降序。默认升序。 HANMENG2010 (2)删除索引 当索引不需要使用时,删除该索引,释放其占用的空间。 语法格式: DROP INDEX index_name eg: SQLdrop index idx_emp; HANMENG2010 ALL_INDEXES:用户可以访问的所有表上的索引。 USER_INDEXES:用户所拥有表上的索引。 (3)查询索引信息 INDEX_NAME INDEX_TYPE U

文档评论(0)

tangtianbao1 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档