




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统和数据库管理:AdaptiveServerEnterprise12.0,管理DOL表,单元概要,使用data-onlylocking(DOL)锁方案能够在开始时提高表的性能。但过一段时间后,由于服务器要维护该表,就会导致该表性能下降。本单元讨论系统管理员如何监测DOL表,从而保持好的性能。目标完成本单元学习后,应该能够:描述DOL页是如何维护的;检查和纠正DOL表的低效空间管理;防止DOL表的低效空间管理。,单元提要,DOL空间管理监测DOL空间管理防止低效的DOL空间管理,AdaptiveServer页格式,APL页:维护自由空间,自由空间是保持在最后一行后面的连续块。如果删除一行数据,后面的行会立即移到回收的空间中。这称为“物理删除”。如果一行空间收缩,后面行会立即移到回收的空间中。,APL页:管理行大小的增长,如果在一页上增加一个新行时,该页上没有足够空间来存放该页,则该页就会产生页分裂。服务器创建新页。增加的行被移动到新页。剩余的行仍然在旧页上。,APL页:维护索引聚族,当创建一个聚族索引时,则数据行按索引顺序排序。总保持排序次序。如果修改一个聚族索引的键值,则该行就会按照索引顺序移到新位置。如果在一页上增加一个新行时,该页上没有足够空间来存放该页,则该页就会产生页分裂。,DOL页:维护自由空间,自由空间并不总是保持在最后一行后的连续空间。当从一个DOL页上删除一行记录时,它称为“逻辑删除”。由于该事务可能发出一个回退命令,所以该行并没有从索引中物理删除。在删除事务中删除的行被标识为逻辑删除。当该事务提交时,整个行就会被标识为“垃圾”。如果一行发生收缩,则剩余空间并不回收而成为“垃圾”。,DOL页:管理行大小的增长,如果由于修改操作导致一行空间增长,但该页上自由空间又不能满足其增长需要,此时该行就出现漂移。该行移到一个新页上。在老页上保留一个10字节地址指向该行所移到的新位置。如果该行原来大小长于10字节,则原来该行所占用的其他空间。,DOL页:维护索引聚簇,当创建一个聚簇索引时,数据行按照索引顺序排序。如果向索引中插入一行新数据,服务器试图维护排序顺序。如果该行“所属页”上有剩余空间(按照排序次序),服务器就会将新行放到该页上,但不按照次序。如果该行“所属页”上没有剩余空间(按照排序次序),服务器就会将新行放到一个新页上,也不按照次序。,页维护方法比较,*Assumingtherelevantpageisfull,DOL页与性能,APL维护APL页需要系统资源。立即回收自由空间需要资源。完成页分裂需要系统资源。最初,DOL页可能有较好的性能。它们不需要资源立即回收自由空间。它们不需要使用资源完成页分裂。然而,经过一段时间后,DOL页的性能可能会变差。会有大量垃圾,来源于逻辑删除行、行收缩和行漂移。由于行漂移,会需要更多的I/O。不仅要读数据行本身,该行中地址所指的行也必须读。聚族索引变成非聚族。,单元提要,DOL空间管理监测DOL空间管理防止低效的DOL空间管理,垃圾回收,垃圾回收是将垃圾占用的空间回归系统重新变为可用空间的过程。有两种垃圾回收。由服务器完成的自动垃圾回收。使用reorg命令完成的手工垃圾回收。,自动垃圾回收,自动垃圾回收在下面情况下发生:insert或update操作所在的页上没有足够空间,但该页上有垃圾。这些垃圾就会被立即回收。一个事务或表扫描遇到一个空页。这些垃圾就会被列在管家队列中。当管家进程激活并到达队列中该页时,管家就会回收这个垃圾。只有这些垃圾页被访问时,才会发生自动垃圾回收。,reorg命令,reorg命令用于提高DOL页性能。它可压缩没有使用的自由空间,从而回收垃圾。它可取消没有指向的漂移行。它可提高索引聚族性能。reorg命令的限制:它只能由系统管理员或对象属主使用。它只能用于DOL表及它们的索引。它不能在事务中使用。,reorg语法,语法:reorgreclaim_spacetable_nameindex_namewithresume|time=number_of_minutesforwarded_rowstable_namewithresume|time=number_of_minutescompacttable_namewithresume|time=number_of_minutesrebuildtable_name,reorgreclaim_space,语法:reorgreclaim_spacetable_nameindex_namewithresume|time=no_of_minutes例子:reorgreclaim_spacetitlesreorgreclaim_spacetitlesidx_titles_2当用在一张表上时,则回收那个表中页的垃圾。当用在一个索引上时,则回收那个索引中页的垃圾(不是其他索引或表)。此reorg命令只能用在一个索引上。该命令可运行在正在使用的表或索引上,但它会引起锁争用。,reorgforwarded_rows,语法:reorgforwarded_rowstable_namewithresume|time=no_of_minutes例子:reorgforwarded_rowstitles对于有漂移行的页:如果垃圾可回收,漂移行就会返回。如果垃圾不可回收,则该行就被删除并插入到其他地方。由于逻辑删除导致产生的垃圾也可以被回收。它可运行在正在使用的表上,但会引起锁争用。,reorgcompact,语法:reorgcompacttable_namewithresume|time=no_of_minutes例子:reorgcompacttitles在同一表上与运行reclaim_space和forwarded_rows命令有相同效果。由于它只扫描页一次,所以它有更好性能。由于索引上没有漂移行,所以它不能运行在索引上。它可运行在正在使用的表上,但会引起锁争用。,reorgrebuild,语法:reorgrebuildtable_name例子:reorgrebuildtitles重建整个表。删除所有索引并重建这些索引。因此,它可提高索引聚族。需要与表和它的索引同样大小的额外空间。在重建表的过程中,将整个表上表级排它锁。为了使用reorgrebuild命令,数据库的选项selectinto/bulkcopy/pllsort必须设为TRUE。,决定何时运行reorg,optdiag是一个实用程序,它显示存储在systabstats和sysstatistics系统表中的优化器统计信息。定期执行optdiag命令,以分析DOL表中的空间管理情况。查找:大量的漂移行;大量的删除行;低数据聚族比。然后,在相应表上运行所需的reorg命令。,optdiag实用程序,语法:optdiagstatisticsdatabase_name.table_name-Uuser-Ppassword-Sserver例子:prompt%optdiagstatisticspubs2.publishers-Usa-Statisticsfortable:publishersDatapagecount:655Emptydatapagecount:5Datarowcount:4959.0000Forwardedrowcount:12.000000Deletedrowcount:84.000000.Datarowsize:184.00000.Datapageclusterratio:0.98969.,动手练习21:使用reorg和optdiag,除非特别指明,否则每个方块中的内容都在自己的批中执行。转到数据库pubs2:usepubs2使用数据行锁方案创建表titles的一个拷贝:select*intotitles2lockdatarowsfromtitles,在title_id列上创建聚族索引:createclusteredindexidx_1_titlesontitles2(title_id)用删除行的办法在该表页中制造垃圾:deletefromtitles2whereprice$10.00回收垃圾所占用的空间:reorgcompacttitles2删除已创建的表:droptabletitles2,动手练习21:使用reorg和optdiag,单元提要,DOL空间管理监测DOL空间管理防止低效的DOL空间管理,为增长创造空间,当创建一个表和索引时,可包含适当选项,为它们将来增长创建额外空间。在行级:在对象创建时,在每行中保留空间。在页级:在创建对象时,可控制每页的充满程度。可限制每页的最大行数。在对象级:可在对象内分配空页。使用DOL表和索引的这些选项来阻止垃圾、行漂移和低效索引聚族发生。,对象的空间管理选项,空间管理选项:exp_row_sizefillfactormax_rows_per_pagereservepagegap这些选项多数都适用于表和索引。只有一个例外exp_row_size,它不能用于索引。,空间管理选项:语法,建表的部分语法:createtabletable_name(columndatatypeproperty,.constraintconstraint_nameprimarykey|uniquewithfillfactor=percent|max_rows_per_page=num_of_rows)withmax_rows_per_page=number_of_rows,exp_row_size=number_of_bytes,reservepagegap=number_of_pages建索引的部分语法:createindexindex_nameontable_name(column_list)withfillfactor=percent|max_rows_per_page=number_of_rows,reservepagegap=number_of_pages,填充因子,例子:createclusteredindexidx_1_titlesontitles(title_id)withfillfactor=40仅在创建时,指定每页空间填充的百分比。在createtable语句中:这些选项用于限制索引的创建。这选项不能用于表本身。如果在创建聚族索引时带一个填充因子,则该填充因子用于表,同时也用于索引。可能的值:1到100的整数;0(意思是在非叶级页上可保留空间,但叶级页全部填满)。,缺省填充因子,defaultfillfactor为一个配置参数,它指定所有创建索引时没有指定的fillfactor值。缺省值为0(fillfactor值留给服务器决定)。该选项为静态参数(服务器必须重新启动)。,每页最大行数,例子:createtablepublishers(pub_idchar(4)NOTNULL,.)withmax_rows_per_page=30createclusteredindexidx_1_titlesontitles(title_id)withmax_rows_per_page=30指定每个数据页和叶级页所容许的最大行数。不用于中间页和根页。即使在对象创建后也能够维护。,行大小期望值,例子:createtablepublishers(pub_idchar(4)NOTNULL,.)pub_namevarchar(40)NULL,cityvarchar(20)NULL,statechar(2)NULL)withexp_row_size=200指定每行必须设置的最小字节数,即使该该行长度小于最先字节数也要设置。为阻止行漂移提供了额外空间。,缺省行大小期望值,defaultexpectedrowsizepercent是一个配置参数,在创建表没有指定行期望值大小时,此参数指定该表中页所保留剩余空间的百分比。缺省值为5。该选项为动态的(修改后立即生效)。注意,该选项所保留的剩余空间是针对整个表的。该空间并不是基于表中每个数据行的。,保留页间隔,Examples:createtablepublishers(pub_idchar(4)NOTNULL,.)withreservepagegap=15createclusteredindexidx_1_titlesontitles(title_id)withreservepagegap=15指定服务器在每隔x页数后留有一个空白页在上面的例子中,服务器每隔15张数据页或索引行后留有一个空白页。页间隔可减少行漂移和提供索引聚族。,改变空间管理选项,语法:sp_chgattributetable_name,“max_rows_per_page”|fillfactor”|“reservepagegap”|exp_row_size”,value例子:sp_chgattributepublishers,exp_row_size,230sp_chgattribute命令改变后不能立即生效。只有在下面情况下使用新参数:在该表上创建聚族索引;运行reorgrebuild命令;由于该表的锁方案从APL改变到DOL或反之,需要重建该表。由于数据修改而影响到表中页。,APL和DOL页的维护方法不同。APL页立即回收自由空间,当指定页上没有足够空间存放数据时,则发生页分裂。DOL页使用逻辑删除和行漂移。DOL页容易形成垃圾。DOL聚族索引易于非聚族化。服务器自动回收垃圾。如果一个进程在一个有垃圾的页上需要空间,该垃圾就会立即被回收。管家搜集由其他进程探测到的垃圾。自动垃圾回收只回收已访问的页。,总结,总结,reorg命令能够用于:手工搜集垃圾;缺省漂移行;改善索引聚族。optdiag实用程序用于监测DOL页空间管理。在创建DOL表和索引时使用空间管理选项,以防止将来低效的空间管理。fillfactormax_rows_per_pagereservepag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南素描高考真题及答案
- 2025年泰语中级口译真题及答案
- 技术培训协议合同范本3篇
- 设备运输合同
- 钢结构防火安全施工方案
- 保障性住房项目施工人员培训与技术提升方案
- 离婚股权分割协议:股权价值评估与权益分配合同
- 新能源汽车齿轴零件生产线项目建筑工程方案
- 离婚后子女教育、医疗费用承担补充协议范本
- 离婚协议中知识产权归属与财产分配协议书
- 2025中国肺血栓栓塞症诊治、预防和管理指南解读课件
- 《工程建设领域农民工工资专用账户资金管理三方协议(样本)》
- 绿化工程采购管理制度
- 职业培训学校管理制度
- 《党政机关厉行节约反对浪费条例》培训课件
- 科技馆面试题库及答案
- DB31T 1235-2020 高层民用建筑消防安全管理要求
- 贵州省2025年高职院校分类考试招生中职生文化综合英语试题答案
- 工地安全宣传教育措施
- QGDW12497-2025架空输电线路装配式基础设计规范
- 第二轮土地承包到期后再延长30年整县启动会议上的领导讲话稿
评论
0/150
提交评论