北大青鸟OracleChapter3.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文档。上传文档
查看更多
北大青鸟OracleChapter3

锁和表分区;回顾 ;目标;锁定概念 8 - 1;锁定类型 行级锁 表级锁 行级锁 行被排他锁定 在某行的锁被释放之前,其他用户不能修改此行 使用 commit 或 rollback 命令释放锁 Oracle 通过使用 INSERT、UPDATE 和 SELECT…FOR UPDATE 语句自动获取行级锁;SELECT…FOR UPDATE 子句 在表的一行或多行上放置排他锁 用于防止其他用户更新该行 可以执行除更新之外的其他操作 ;FOR UPDATE WAIT 子句 Oracle9i 中的新增功能 防止无限期地等待锁定的行 允许对锁的等待时间进行更多的控制 等待间隔必须指定为数值文字 等待间隔不能是表达式、赋值变量或 PL/SQL 变量;表级锁 保护表的数据 在多个用户同时访问数据时确保数据的完整性 可以设置为三种模式:共享、共享更新和 排他 语法: Lock table table_name in mode;;共享锁 锁定表 仅允许其他用户执行查询操作 不能插入、更新和删除 多个用户可以同时在同一表中放置此锁;共享更新锁 锁定要被更新的行 允许其他用户同时查询、插入、更新未被锁定的行 在 SELECT 语句中使用“FOR UPDATE”子句,可以强制使用共享更新锁 允许多个用户同时锁定表的不同行;排他锁 与其他两种锁相比,排他锁是限制性最强的表锁 仅允许其他用户查询数据 不允许执行插入、删除和更新操作 在同一时间仅允许一位用户在表上放置排他锁 共享锁与此相反;分区的概念是指可以将表拆分为几个部分 在数据仓库应用程序中非常有用 根据键值范围对表进行拆分 表的每个部分称为“分区” 分区被独立存储和管理 通过引用逻辑表名称进行查询和更新;分区方法 分区类型 范围分区 散列分区 复合分区 列表分区;范围分区 根据列值的范围将行映射到分区 由表的分区规范进行定义: PARTITION BY RANGE ( column_list ) 由每个单独分区的分区规范进行定义: VALUES LESS THAN ( value_list ) 其中 column_list 是列的有序列表 value_list 是 column_list 中列值的有序列表;范围分区的语法: create table table_name (column_name data type,column_name data type,….) partition by range(column_name) (partition partition name values less than value, partition partition name values less than value);;散列分区 在分区列上使用 hash 函数 是比范围分区更好的选择 如果不知道将有多少数据映射到指定的范围,散列分区非常有用 分区的数目应是 2 的幂 可以对散列分区进行命名,并将其存储在特定的表空间中;散列分区的语法: CREATE TABLE table_name( ... ) PARTITION BY HASH(column_list) PARTITIONSNO OF PARTITIONS ( PARTITION partition_name TABLESPACE tablespace_name, PARTITION partition_name TABLESPACE tablespace_name);;复合分区 使用范围分区方法对数据进行分区,并在每一个分区内使用散列分区方法将其划分为子分区 允许命名子分区 允许将子分区存储在特定的表空间 兼具范围分区和散列分区的优点;复合分区的语法: CREATE TABLE table_name( …… ) PARTITION BY RANGE(column_list) SUBPARTITION BY HASH(column_list) SUBPARTITIONS number_of_subpartitions STORE IN(tablespace_name_list, , ,……..) ( PARTITION parition_name VALUES LESS THAN(VALUE) ( SUBPARTITION partition_name TABLESPACE tablespace_name, ... SUBPARTITION partition_name TABLESPACE tablespace_name, SUBPAR

文档评论(0)

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

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

1亿VIP精品文档

相关文档