Oracle索引在数据查询中的应用.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle索引在数据查询中的应用

Oracle索引在数据查询中的应用 夏忠球 俞国红 苏州健雄职业技术学院 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的被引频次变化的通知! 新浪微博 腾讯微博 人人网 开心网 豆瓣网 网易微博 摘????要: 文章以Oracle数据库生产实践中的数据扫描为主要研究内容, 结合索引技术等相关知识, 提出了合理使用索引技术, 避免执行全表扫描的设计总体思路, 通过实际的需求分析, 介绍了基于索引的SQL语句优化方法, 实现数据库的高效查询。 关键词: 索引; 索引扫描; Oracle; 作者简介:夏忠球 (1964—) , 男, 江苏太仓人, 工程师, 学士;研究方向:网络安全, 数据库技术及应用。 基金:2015年江苏省现代教育技术课题;项目名称:高职移动交互式数字教材的开发与应用研究;项目编号:2015-R-26864 Application of Oracle index in data query Xia Zhongqiu Yu Guohong Suzhou Chien-shiung Institute of Technology; Abstract: Taking the data scanning of Oracle database in the practical production as the main research content, combining with the index technology and other related knowledge, this paper puts forward the rational use of indexing technology to avoid the overall design idea of performing full table scans, through the actual demand analysis, introduces the SQL statement optimization method based on index to realize the efficient query of database. Keyword: index; index scan; Oracle; 随着大数据的广泛应用, 数据高效查询已经在生产实践中成为新的研究热点。数据量大的时候, 常出现软件性能的问题, 需要反复修改结构化查询语言 (Structured Query Language, SQL) 语句, 调试性能以达到最优。利用数据索引技术, 正确使用数据库的索引, 解决海量数据查询处理难的问题, 不仅可实现高效的查询, 而且提高磁盘IO的读写效率。 1 Oracle数据扫描技术 1.1 索引概述 索引是数据库中的对象, 类似书的目录结构, Oracle的索引创建在数据表的列。索引作为一种独立的数据结构, 需要占用存储空间。索引最大的作用是加快查询速度, 其直接指向包含所查询值的行的位置, 并存储了表中某一列的所有值。一个索引是基于数据表中的某一列而创建的, 并且这列是排过序的。索引使用的数据结构有两种:Ms SQL使用的是B+Tree结构, 而Oracle及Sysbase使用的是B-Tree结构。 索引使用默认的键值排序来取代全表扫描, 提高查询效率。那什么是全表扫描呢?全表扫描就是获取表中所有数据块, 再根据条件进行过滤。在数据库中, 对没有索引的表进行查询, 搜寻表中每一条记录, 直到找到所有符合给定条件的记录的过程, 称为全表扫描。 1.2 数据库索引的工作原理 O r a c l e使用R OW I D列来建立内部索引。那什么是ROWID呢?ROWID为数据表中行的唯一标识, 是一个伪列, 可以用在SELECT中, 但不可以用INSERT, UPDATE来修改该值。每个表Oracle都存在一个伪列ROWID, 这个伪列可以用SELECT查看, 但是不可以用INSERT和UPDATE, DELETE命令来修改删除操作。 数据库执行查询时, 首先会检查表中的列有没有创建索引, 如果该列有索引, 数据库还要判断是否应该使用索引检索要查找的值。 查询数据库的结果集时, 当读取的数据比重大, 占表数据20%~70%时, 最好使用全扫描。一般超过10%的数据要读取就会选择全表扫描。 访问数据有两种基本的数据访问途径:全表扫描和索引扫描。索引扫描每次有IO操作, 一次是对索引块, 一次是对数据块。 1.3 数据库索引使用的场合 是否使用索引, 由Oracle优化器决定。Oracle的优化器有3种:RULE (基于规则) 优化器、COST (基于成本) 优化器、CHOOSE (选择性)

文档评论(0)

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

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

1亿VIP精品文档

相关文档