Oracle数据库应用技术项目化教程(第二版)任务6 图书销售数据库中索引和其他模式对象的应用.pptxVIP

Oracle数据库应用技术项目化教程(第二版)任务6 图书销售数据库中索引和其他模式对象的应用.pptx

  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文档。上传文档
查看更多
;2;索引的创建、重建和合并 外部文件的创建和使用 索引组织表和分区表的创建和使用 视图的创建和使用 序列和同义词的使用;掌握索引的概念、分类、作用以及索引的创建、重建与合并 掌握外部数据文件的读取和错误处理方法 掌握索引组织表和分区表的创建与管理 掌握视图的概念以及视图的创建和使用 了解序列和同义词的含义和功能;预备知识;知识点1;知识点1;(3)反向键索引 在Oracle中,系统会自动为表的主键列建立索引,这个索引是普通的B树索引。对于主键值是按顺序添加的情况,默认的B树索引并不理想,这是因为如果索引列的值具有严格顺序,随着数据行的插入,索引树的层级就会增长很快。搜索索引发生的I/O读写次数和索引树的层级数成 正比,也就是说,一棵具有5个层级的B树索引,在最终读到索引数据时,最多可能发生多达5次I/O操作。另外,由于B树索引是以严格有序的方式将索引数值插入的,那么B树索引将变成一棵不对称的“歪树”。 反向键索引是一种特殊类型的B树索引,在索引基于含有有序数的列时非常有用。反向键索引的工作原理在存储结构方面与普通的B树索引相同。然而,如果用户使用序列编号在表中 输入新的记录,则反向键索引首先反向每个列键值的字节,然后在反向后的新数据上进行索引。例如,如果用户输入索引键为2008,就反向转换为8002进行索引,2015就反向转换为5102进行索引。;(4)基于函数的索引基于函数的索引其实也是B树索引,不过基于函数的索引存放是经过函数处理后得到的数据,而不存放数据本身。如果检索的数据需要对字符大小写转换或数据类型进行转换,则使用这种索引就可以提高查询效率。例如图书销售管理数据库中的销售单表 saleorders,其中saleorder_date列存储了图书销售的日期,如果要搜索2011年以后销售单信息,那么使用WHERE saleorder_date=′2011′这样的搜索条件时,会提示数据类型不匹配的错 误。为了解决这个问题,可以在saleorder_date列使用类型转换函数TO_CHAR,代码如下: SQLSELECT * FROM saleorders 2WHERE TO_CHAR(sale_date,′YYYY′)=′2011′; 使用这种方法后,虽然可以正常运行,但是该查询将执行全表搜索,即使在birthday列建立了索引,对列值???行类型转换后,该值也不会出现在索引中。 为了解决这个问题,可以创建基于函数的索引。基于函数的索引只是常规的B树索引,但它是基于一个应用于表中数据的函数,而不是直接放在表中的数据本身上。;知识点1;知识点1;知识点1;LOGGING|NOLOGGING:LOGGING表示存储日志信息,NOLOGGING表示不存储日志信息。 COMPUTE STATISTICS:创建新索引时收集统计信息。 NOCOMPRESS|COMPRESS nn:表示是否使用“键压缩”。使用键压缩可以删除一个键列中出现的重复值,节省空间。 NOSORT|REVERSE:使用NOSORT将使用与表中相同的顺序创建索引,不再对索引进行排序。REVERSE则表示以相反的顺序存储索引值。 PARTITION|GLOBAL PARTITION partition_setting:使用该子句可以在分区表或未分区表上对创建的索引进行分区。;知识点2;知识点2;2.临时表 Oracle的临时表是“静态”的,它与普通的数据表一样在数据库中只需建立一次,其结构从创建到删除的整个期间都是有效的。 临时表的特点 ①临时表只有在用户实际向表中添加数据时,才会为其分配存储空间。 ②为临时表分配的空间来自临时表空间,避免了与永久对象的数据争用存储空间。 ③临时表中存储的数据也是以事务或者会话为基础的,当用户当前的事务结束或者会话终止时,临时表就会因为释放所占用的存储空间而丢失数据。 ④与堆表一样,用户可以在临时表上建立索引、视图和触发器等,但建立的索引、视图和触发器也是临时的,只对当前会话或者事务有效。 临时表的级别 临时表主要分为两种:事务级别临时表和会话级别临时表。 ①事务级别临时表 事务级别临时表是指临时表中的数据只在事务生命周期中存在。当一个事务结束时,临时表中的数据被自动清除。 ②会话级别临时表 会话级别临时表是指临时表中的数据只在会话生命周期中存在,当用户退出,会话结束时,临时表中的数据被自动清除。;3.分区表 分区表 在大型的数据库应用中,需要处理的数据量可以达到几十到几百GB,甚至达到TB级,例如图书销售管理数据库的图书数据表books。为了提高对大容量数据库的读写和查询速度,Oracle提供了分区技术。分区表是将一个非常大的表分割成较小的片段(分区)。在实际应用中,对分区表的操作是在独立的分区上,但是对用户而言,分区表的使用就像

文档评论(0)

186****6581 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档