您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > sybase原厂ppt之dol表的管理
系统和数据库管理:AdaptiveServerEnterprise12.0管理DOL表©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-1单元概要使用data-onlylocking(DOL)锁方案能够在开始时提高表的性能。但过一段时间后,由于服务器要维护该表,就会导致该表性能下降。本单元讨论系统管理员如何监测DOL表,从而保持好的性能。目标完成本单元学习后,应该能够:描述DOL页是如何维护的;检查和纠正DOL表的低效空间管理;防止DOL表的低效空间管理。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-2单元提要DOL空间管理监测DOL空间管理防止低效的DOL空间管理©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-3AdaptiveServer页格式©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-4APL页:维护自由空间自由空间是保持在最后一行后面的连续块。如果删除一行数据,后面的行会立即移到回收的空间中。这称为“物理删除”。如果一行空间收缩,后面行会立即移到回收的空间中。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-5APL页:管理行大小的增长如果在一页上增加一个新行时,该页上没有足够空间来存放该页,则该页就会产生页分裂。服务器创建新页。增加的行被移动到新页。剩余的行仍然在旧页上。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-6APL页:维护索引聚族当创建一个聚族索引时,则数据行按索引顺序排序。总保持排序次序。如果修改一个聚族索引的键值,则该行就会按照索引顺序移到新位置。如果在一页上增加一个新行时,该页上没有足够空间来存放该页,则该页就会产生页分裂。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-7DOL页:维护自由空间自由空间并不总是保持在最后一行后的连续空间。当从一个DOL页上删除一行记录时,它称为“逻辑删除”。由于该事务可能发出一个回退命令,所以该行并没有从索引中物理删除。在删除事务中删除的行被标识为逻辑删除。当该事务提交时,整个行就会被标识为“垃圾”。如果一行发生收缩,则剩余空间并不回收而成为“垃圾”。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-8DOL页:管理行大小的增长如果由于修改操作导致一行空间增长,但该页上自由空间又不能满足其增长需要,此时该行就出现漂移。该行移到一个新页上。在老页上保留一个10字节地址指向该行所移到的新位置。如果该行原来大小长于10字节,则原来该行所占用的其他空间。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-9DOL页:维护索引聚簇当创建一个聚簇索引时,数据行按照索引顺序排序。如果向索引中插入一行新数据,服务器试图维护排序顺序。如果该行“所属页”上有剩余空间(按照排序次序),服务器就会将新行放到该页上,但不按照次序。如果该行“所属页”上没有剩余空间(按照排序次序),服务器就会将新行放到一个新页上,也不按照次序。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-10页维护方法比较*Assumingtherelevantpageisfull当删除一行时当一行收缩时当一行扩展时*当发生聚族索引插入时*APL页空间回收空间回收页分裂页分裂DOL页空间变为垃圾(逻辑删除)空间变为垃圾行漂移(留下地址和垃圾)该行不按次序存放在另一页上©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-11DOL页与性能APL维护APL页需要系统资源。立即回收自由空间需要资源。完成页分裂需要系统资源。最初,DOL页可能有较好的性能。它们不需要资源立即回收自由空间。它们不需要使用资源完成页分裂。然而,经过一段时间后,DOL页的性能可能会变差。会有大量垃圾,来源于逻辑删除行、行收缩和行漂移。由于行漂移,会需要更多的I/O。不仅要读数据行本身,该行中地址所指的行也必须读。聚族索引变成非聚族。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-12单元提要DOL空间管理监测DOL空间管理防止低效的DOL空间管理©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-13垃圾回收垃圾回收是将垃圾占用的空间回归系统重新变为可用空间的过程。有两种垃圾回收。由服务器完成的自动垃圾回收。使用reorg命令完成的手工垃圾回收。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-14自动垃圾回收自动垃圾回收在下面情况下发生:insert或update操作所在的页上没有足够空间,但该页上有垃圾。这些垃圾就会被立即回收。一个事务或表扫描遇到一个空页。这些垃圾就会被列在管家队列中。当管家进程激活并到达队列中该页时,管家就会回收这个垃圾。只有这些垃圾页被访问时,才会发生自动垃圾回收。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-15reorg命令reorg命令用于提高DOL页性能。它可压缩没有使用的自由空间,从而回收垃圾。它可取消没有指向的漂移行。它可提高索引聚族性能。reorg命令的限制:它只能由系统管理员或对象属主使用。它只能用于DOL表及它们的索引。它不能在事务中使用。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-16reorg语法语法:reorg{reclaim_spacetable_name[index_name][with{resume|time=number_of_minutes}]forwarded_rowstable_name[with{resume|time=number_of_minutes}]compacttable_name[with{resume|time=number_of_minutes}]rebuildtable_name子命令取消漂移行?压缩空间?改善聚族?reclaim_space否是否forwarded_rows是否有些改善compact是是有些改善rebuild是是是©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-17reorgreclaim_space语法:reorgreclaim_spacetable_name[index_name][with{resume|time=no_of_minutes}]例子:reorgreclaim_spacetitlesreorgreclaim_spacetitlesidx_titles_2当用在一张表上时,则回收那个表中页的垃圾。当用在一个索引上时,则回收那个索引中页的垃圾(不是其他索引或表)。此reorg命令只能用在一个索引上。该命令可运行在正在使用的表或索引上,但它会引起锁争用。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-18reorgforwarded_rows语法:reorgforwarded_rowstable_name[with{resume|time=no_of_minutes}]例子:reorgforwarded_rowstitles对于有漂移行的页:如果垃圾可回收,漂移行就会返回。如果垃圾不可回收,则该行就被删除并插入到其他地方。由于逻辑删除导致产生的垃圾也可以被回收。它可运行在正在使用的表上,但会引起锁争用。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-19reorgcompact语法:reorgcompacttable_name[with{resume|time=no_of_minutes}]例子:reorgcompacttitles在同一表上与运行reclaim_space和forwarded_rows命令有相同效果。由于它只扫描页一次,所以它有更好性能。由于索引上没有漂移行,所以它不能运行在索引上。它可运行在正在使用的表上,但会引起锁争用。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-20reorgrebuild语法:reorgrebuildtable_name例子:reorgrebuildtitles重建整个表。删除所有索引并重建这些索引。因此,它可提高索引聚族。需要与表和它的索引同样大小的额外空间。在重建表的过程中,将整个表上表级排它锁。为了使用reorgrebuild命令,数据库的选项selectinto/bulkcopy/pllsort必须设为TRUE。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-21决定何时运行reorgoptdiag是一个实用程序,它显示存储在systabstats和sysstatistics系统表中的优化器统计信息。定期执行optdiag命令,以分析DOL表中的空间管理情况。查找:大量的漂移行;大量的删除行;低数据聚族比。然后,在相应表上运行所需的reorg命令。©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-22optdiag实用程序语法: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...©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-23动手练习21:使用reorg和optdiag除非特别指明,否则每个方块中的内容都在自己的批中执行。转到数据库pubs2:usepubs2使用数据行锁方案创建表titles的一个拷贝:select*intotitles2lockdatarowsfromtitles©1999Sybase,Inc.anditssubsidiaries.Allrightsreserved.21-24在title_id列上创建聚族索引:createclusteredindexidx_1_titlesontitles2(title_id)用删除行的办法在该
本文标题:sybase原厂ppt之dol表的管理
链接地址:https://www.777doc.com/doc-4755543 .html