北邮数据库课程讲义chapter8.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  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文档。上传文档
查看更多
北邮数据库课程讲义chapter8

Adaptive Server Enterprise 表分区 页链 Adaptive Server的基本存储单位是一个2K 页。 表由一个2K页链组成。 最初创建一个表时,它由单个页链组成。 一个 “堆表” 就是一个由单个页链组成而没有聚族索引的表。 单页链会引起竞争 对于堆表, 新的数据行加到最后一页。 当最后一页空间满后, 再分配一个新页,新的数据行增加到这个页上。 最后一页变成一个“热点”(一个争用严重地方)。 数据插入事务在最后一页上保持排它锁,直到该事务结束。 所有其他事务必须等到这个排它锁释放。 分区 一个表能够分成独立分离的分区。 每个分区就好象它是一个独立的链。 对于多个页链, 有多个“最后页”。 新行插到任一个“最后页”。 同一个事务的所有插入都在同一个分区上。 最后一页的竞争就会减少。 分区的额外好处 有可能把表的I/O 分布到多个数据库设备上。 每个表分区可放在独立的数据库设备上。 当批拷贝大量数据时会提高性能。 批拷贝能够同时在多个链上进行插入操作。 如果系统配置为并行处理,可增加系统的一个并行度。 在分区表上查询时, 每个分区有一个独立工作进程读取,这样就会减少整个查询时间。 分区与DML语句 插入: 分区表可提高性能,特别是对于有大量插入操作的表。 例子: “只增加”表 (表只有插入操作,但没有修改操作)。 许多用户需要向表中插入数据, 例如一个电话公司记录每个打进的电话。 查询: 只有在服务器配置为并行访问时,分区表才能提高性能。 修改和删除: 分区一个表不影响性能。 分区一个表 不能创建一个分区表。 必须先创建该表, 然后使用 alter table 命令将它分区。 表可在一个设备上分区,也可在多设备上分区。 频繁访问的表分区在多个设备上能够提高性能。 不能分区的表: 系统表; 工作表; 已经分区的表。 然而, 该表可先取消分区再重新分区。 在单个设备上分区一个表 语法: alter table table_name partition number_of_partitions 例子: create table publishers ( pub_id char(4) NOT NULL, pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL, ) go alter table publishers partition 4 go 在多个数据库设备上分区 为了跨越多个数据库设备分区。 建立一个段跨越多个数据片。 将表放在上面的段上。 指定该表的分区数。 如果分区数小于或等于设备数,则每个分区放在独立的设备上。 在多个数据库设备上分区 例子: sp_addsegment seg_1, salesdb, dev_dat_1 exec sp_extendsegment seg_1, salesdb, dev_dat_2 go create table publishers...on seg_1 go alter table publishers partition 2 go 分区一个已包含记录的表 现有的所有记录行都分配到第一个分区上。 尽管分区大小会不均衡,但分区表还是有多个最后页。 将分区映射到一个段上 服务器将表分区平均分配到数据段上。 如果段数比表分区多, 则每个分区放在多个段上。 如果表分区比段数多, 则一个段上有多个表分区。 通常情况下,表分区数等于数据库设备段数或者是它的倍数。 4个分区在4个段上,或 8个分区在4个段上。 取消表分区 语法: alter table table_name unpartition 例子: alter table publishers unpartition 查看表分区信息 语法: sp_helpartition [table_name] 例子: sp_helpartition publishers - partitionid firstpage controlpage ptn_data_pages 1 313 314 4227 2 12802 12801 4285 3 25602 25601 4404 4 38402 38401 4523 Partns Avg Pgs Max Pgs Min Pgs Ratio (Max/Avg) 4 4360 4523 4227 1.037385 分区的规则 不能分区的表: 系统表; 工作表; 已经分了区的表。 在分区表上,有些操作不容许:

文档评论(0)

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

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

1亿VIP精品文档

相关文档