Oracle的临时表-分区表-分区索引.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  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的临时表 表的种类 1:永久表:非私有数据,需要DML锁。 2:临时表:临时表的定义对所有会话都是可见的,处理事务或会话期存在的私有数据,不需要DML锁,对于临时表的DML语句不生成重做日志,临时表占用临时表空间,临时表的数据是自动删除的,在临时表上建的索引也是临时的。 临时表的种类 1:事物型临时表:在事务期间数据存在,事务结束后数据被自动删除。 2:会话型临时表:在会话期间数据存在,会话结束后数据被自动删除。 三、临时表的限制 1:不能分区,不能是索引组织表或簇。 2:不能指定关于临时表的外键约束。 3:不支持并行DML或并行查询。 4:不支持分布式事务处理。 5:不能指定段存储语句、嵌套表存储语句或并行语句 四、建立临时表的语法 1:建立关系表 2:建立对象表 3:并行语句 Oracle的分区表 一、什么是分区表 Oracle可以将大表或索引分成若干个更小更方便管理的部分,每一部分称为一个分区,这样的表称为分区表。SQL语句使用分区表比全表或全表索引能提供更好的访问和处理数据。下图是按周所建分区表示例。 使用分区表的限制 1:不能分割是簇一部分的表。 2:不能分割含有LONG或LONG RAW列的表。 3:索引组织表IOT不能进行范围分区。 **采用基于规则的优化器时,有会从分区表中受益! 分区方法 1:范围分区(更适合历史数据库)—Oracle8从惟一可用的分区类型 按照列的列表的范围分割表;如果是索引组织表,则列的列表就必须是索引组织表主键的子集。 分区关键列的限制: 列列表中的列可以是任何一种内置的数据类型,ROWID、LONG、LOB或者TIMESTAMP WITH TIME ZONE除外。 关键字MAXVALUE比任何值都高(含NULL)。 2:散列分区--Oracle8i可用的分区类型 指定这个表是按哈希算法分区的,分区的数目应为2的幂。 单独散列分区(individual_hash_partitions)及其限制 使用子名按照名字指定单个分区,分区名可以匆略。此时能指定的唯一子句是表空间。 按照数量的散列分区(hash_partitions_by_quantity) 可以指定分区的数目,Oracle此时指定分区的名字SYS_Pn。STORE IN子句指定分区所分布的表空间的名称。表空间的数目不一定和分区的数目相等。如果分区的数目比表空间的数目大,则分区按照名称循环使用表空间。如果在按数量分区时指了STORE IN和分区存储子句的表空间,则SOTRE IN指定了表创建分区的放置,TABLESPACE子句指定随后的操作的缺省表空间。 散列分区的限制 A:列列表中不能指定超过16个列。 B:列列表不能包含ROWID或UROWID伪列。 C:列列表可以是任何内置的数据类型,ROWID, LONG, or LOB除外。 3:列表分区—Oracle9i可用的分区类型 使用list_partitioning 子句按照列的值分割表,列表分区用于控制单独的行映射到指定的分区。 每个分区的list_values_clause最少有一个值。空值可能在多个分区中出现。你可以指定一个缺省分区,且缺省分区是定义分区的最后一个。 列表分区的限制: 列表分区不能有子分区。 在COLUMN_LIST中只能指定一个分区,且不能是LOB列。 如果分区键是对象类型列,你只能按列类型的一个属性分割。 list_values_clause的每个值在表的所有分区必须唯一。 不能列出索引组织表的分区。 4:复合分区 先按范围分区,然后按散列或列表建立子分区。你能指定散列、列表或LOB子分区的唯一特性是表空间。你不能给索引组织表指定复合分区。 支持复合分区的类型:a—范围散列--Oracle8i可用的分区类型 b—范围列表—Oracle9i可用的分区类型 范围散列适用于即保存历史数据,又需要数据均匀分布的应用; 范围列表适用于即保存历史数据,又要离散数据的存放进行控制的应用; 如:范围散列分区使用范围分区,且子分区内使用HASH分区。 建立分区表的语法 1:表特性子句 2:范围分区子句 3:散列分区子句: 4:散列分区存储子句 5:列表分区 6:复合分区 7:分区定义 8:按照散列的子分区 9:分割级子分区 10:并行子句 11:全局分区子句 建立分区方法示例 1:范围分区 CREATE TABLE sales ( acct_no??????? NUMBER(5), ????????????????????? acct_name???????CHAR(30), ????????????????????? amount_of_sale?

文档评论(0)

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

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

1亿VIP精品文档

相关文档