sybase原厂ppt之dol表的管.ppt

上传人:牧羊曲112 文档编号:5449867 上传时间:2023-07-08 格式:PPT 页数:41 大小:352KB
返回 下载 相关 举报
sybase原厂ppt之dol表的管.ppt_第1页
第1页 / 共41页
sybase原厂ppt之dol表的管.ppt_第2页
第2页 / 共41页
sybase原厂ppt之dol表的管.ppt_第3页
第3页 / 共41页
sybase原厂ppt之dol表的管.ppt_第4页
第4页 / 共41页
sybase原厂ppt之dol表的管.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《sybase原厂ppt之dol表的管.ppt》由会员分享,可在线阅读,更多相关《sybase原厂ppt之dol表的管.ppt(41页珍藏版)》请在三一办公上搜索。

1、系统和数据库管理:Adaptive Server Enterprise 12.0,管理 DOL 表,单元概要,使用 data-only locking(DOL)锁方案能够在开始时提高表的性能。但过一段时间后,由于服务器要维护该表,就会导致该表性能下降。本单元讨论系统管理员如何监测 DOL表,从而保持好的性能。目标完成本单元学习后,应该能够:描述 DOL 页是如何维护的;检查和纠正 DOL 表的低效空间管理;防止 DOL 表的低效空间管理。,单元提要,DOL 空间管理监测 DOL 空间管理防止低效的 DOL 空间管理,Adaptive Server页格式,APL 页:维护自由空间,自由空间是保持

2、在最后一行 后面的连续块。如果删除一行数据,后面的 行会立即移到回收的空间中。这称为“物理删除”。如果一行空间收缩,后面行 会立即移到回收的空间中。,APL 页:管理行大小的增长,如果在一页上增加一个新行时,该页上没有足够空间来存放该页,则该页就会产生页分裂。服务器创建新页。增加的行被移动到新页。剩余的行仍然在旧页上。,APL 页:维护索引聚族,当创建一个聚族索引时,则数据行按索引顺序排序。总保持排序次序。如果修改一个聚族索引的键值,则该行就会按照索引顺序移到新位置。如果在一页上增加一个新行时,该页上没有足够空间来存放该页,则该页就会产生页分裂。,DOL 页:维护自由空间,自由空间并不总是保持

3、在最后一行后的连续空间。当从一个 DOL 页上删除一行记录时,它称为“逻辑删除”。由于该事务可能发出一个回退命令,所以该行并没有从索引中物理删除。在删除事务中删除的行被标识为逻辑删除。当该事务提交时,整个行就会被标识为“垃圾”。如果一行发生收缩,则剩余空间并不回收而成为“垃圾”。,DOL 页:管理行大小的增长,如果由于修改操作导致一行空间增长,但该页上自由空间又不能满足其增长需要,此时该行就出现漂移。该行移到一个新页上。在老页上保留一个10字节地址指向该行所移到的新位置。如果该行原来大小长于10字节,则原来该行所占用的其他空间。,DOL 页:维护索引聚簇,当创建一个聚簇索引时,数据行按照索引顺

4、序排序。如果向索引中插入一行新数据,服务器试图维护排序顺序。如果该行“所属页”上有剩余空间(按照排序次序),服务器就会将新行放到该页上,但不按照次序。如果该行“所属页”上没有剩余空间(按照排序次序),服务器就会将新行放到一个新页上,也不按照次序。,页维护方法比较,*Assuming the relevant page is full,DOL 页与性能,APL维护 APL 页需要系统资源。立即回收自由空间需要资源。完成页分裂需要系统资源。最初,DOL 页可能有较好的性能。它们不需要资源立即回收自由空间。它们不需要使用资源完成页分裂。然而,经过一段时间后,DOL 页的性能可能会变差。会有大量垃圾,

5、来源于逻辑删除行、行收缩和行漂移。由于行漂移,会需要更多的 I/O。不仅要读数据行本身,该行中地址所指的行也必须读。聚族索引变成非聚族。,单元提要,DOL 空间管理监测DOL空间管理防止低效的 DOL 空间管理,垃圾回收,垃圾回收是将垃圾占用的空间回归系统重新变为可用空间的过程。有两种垃圾回收。由服务器完成的自动垃圾回收。使用 reorg 命令完成的手工垃圾回收。,自动垃圾回收,自动垃圾回收在下面情况下发生:insert 或 update 操作所在的页上没有足够空间,但该页上有垃圾。这些垃圾就会被立即回收。一个事务或表扫描遇到一个空页。这些垃圾就会被列在管家队列中。当管家进程激活并到达队列中该

6、页时,管家就会回收这个垃圾。只有这些垃圾页被访问时,才会发生自动垃圾回收。,reorg命令,reorg命令用于提高 DOL 页性能。它可压缩没有使用的自由空间,从而回收垃圾。它可取消没有指向的漂移行。它可提高索引聚族性能。reorg命令的限制:它只能由系统管理员或对象属主使用。它只能用于 DOL 表及它们的索引。它不能在事务中使用。,reorg语 法,语 法:reorg reclaim_space table_name index_name with resume|time=number_of_minutes forwarded_rows table_namewith resume|time=

7、number_of_minutes compact table_namewith resume|time=number_of_minutes rebuild table_name,reorg reclaim_space,语法:reorg reclaim_space table_name index_namewith resume|time=no_of_minutes例子:reorg reclaim_space titlesreorg reclaim_space titles idx_titles_2当用在一张表上时,则回收那个表中页的垃圾。当用在一个索引上时,则回收那个索引中页的垃圾(不是其他

8、索引或表)。此 reorg 命令只能用在一个索引上。该命令可运行在正在使用的表或索引上,但它会引起锁争用。,reorg forwarded_rows,语法:reorg forwarded_rows table_namewith resume|time=no_of_minutes例子:reorg forwarded_rows titles对于有漂移行的页:如果垃圾可回收,漂移行就会返回。如果垃圾不可回收,则该行就被删除并插入到其他地方。由于逻辑删除导致产生的垃圾也可以被回收。它可运行在正在使用的表上,但会引起锁争用。,reorg compact,语法:reorg compact table_na

9、mewith resume|time=no_of_minutes例子:reorg compact titles在同一表上与运行 reclaim_space 和 forwarded_rows命令有相同效果。由于它只扫描页一次,所以它有更好性能。由于索引上没有漂移行,所以它不能运行在索引上。它可运行在正在使用的表上,但会引起锁争用。,reorg rebuild,语法:reorg rebuild table_name例子:reorg rebuild titles重建整个表。删除所有索引并重建这些索引。因此,它可提高索引聚族。需要与表和它的索引同样大小的额外空间。在重建表的过程中,将整个表上表级排它锁

10、。为了使用 reorg rebuild命令,数据库的选项select into/bulkcopy/pllsort 必须设为 TRUE。,决定何时运行 reorg,optdiag是一个实用程序,它显示存储在 systabstats 和sysstatistics 系统表中的优化器统计信息。定期执行 optdiag 命令,以分析 DOL 表中的空间管理情况。查找:大量的漂移行;大量的删除行;低数据聚族比。然后,在相应表上运行所需的 reorg 命令。,optdiag实用程序,语法:optdiag statistics database_name.table_name-U user-P passwor

11、d-S server 例子:prompt%optdiag statistics pubs2.publishers-Usa-Statistics for table:publishersData page count:655Empty data page count:5Data row count:4959.0000Forwarded row count:12.000000Deleted row count:84.000000.Data row size:184.00000.Data page cluster ratio:0.98969.,动手练习 21:使用 reorg 和 optdiag,除

12、非特别指明,否则每个方块中的内容都在自己的批中执行。转到数据库 pubs2:use pubs2使用数据行锁方案创建表 titles 的一个拷贝:select*into titles2lock datarowsfrom titles,在 title_id 列上创建聚族索引:create clustered index idx_1_titleson titles2(title_id)用删除行的办法在该表页中制造垃圾:delete from titles2where price$10.00回收垃圾所占用的空间:reorg compact titles2删除已创建的表:drop table title

13、s2,动手练习 21:使用 reorg 和 optdiag,单元提要,DOL 空间管理监测 DOL 空间管理防止低效的 DOL 空间管理,为增长创造空间,当创建一个表和索引时,可包含适当选项,为它们将来增长创建额外空间。在行级:在对象创建时,在每行中保留空间。在页级:在创建对象时,可控制每页的充满程度。可限制每页的最大行数。在对象级:可在对象内分配空页。使用 DOL 表和索引的这些选项来阻止垃圾、行漂移和低效索引聚族发生。,对象的空间管理选项,空间管理选项:exp_row_sizefillfactormax_rows_per_pagereservepagegap这些选项多数都适用于表和索引。只

14、有一个例外 exp_row_size,它不能用于索引。,空间管理选项:语法,建表的部分语法:create table table_name(column datatype property,.constraint constraint_nameprimary key|uniquewith fillfactor=percent|max_rows_per_page=num_of_rows)with max_rows_per_page=number_of_rows,exp_row_size=number_of_bytes,reservepagegap=number_of_pages 建索引的部分语法

15、:create index index_nameon table_name(column_list)with fillfactor=percent|max_rows_per_page=number_of_rows,reservepagegap=number_of_pages,填充因子,例子:create clustered index idx_1_titleson titles(title_id)with fillfactor=40仅在创建时,指定每页空间填充的百分比。在 create table 语句中:这些选项用于限制索引的创建。这选项不能用于表本身。如果在创建聚族索引时带一个填充因子,则

16、该填充因子用于表,同时也用于索引。可能的值:1 到 100 的整数;0(意思是在非叶级页上可保留空间,但叶级页全部填满)。,缺省填充因子,default fill factor为一个配置参数,它指定所有创建索引时没有指定的 fillfactor 值。缺省值为 0(fillfactor 值留给服务器决定)。该选项为静态参数(服务器必须重新启动)。,每页最大行数,例子:create table publishers(pub_idchar(4)NOT NULL,.)with max_rows_per_page=30create clustered index idx_1_titleson title

17、s(title_id)with max_rows_per_page=30指定每个数据页和叶级页所容许的最大行数。不用于中间页和根页。即使在对象创建后也能够维护。,行大小期望值,例子:create table publishers(pub_idchar(4)NOT NULL,.)pub_namevarchar(40)NULL,cityvarchar(20)NULL,statechar(2)NULL)with exp_row_size=200指定每行必须设置的最小字节数,即使该该行长度小于最先字节数也要设置。为阻止行漂移提供了额外空间。,缺省行大小期望值,default expected row

18、size percent是一个配置参数,在创建表没有指定行期望值大小时,此参数指定该表中页所保留剩余空间的百分比。缺省值为 5。该选项为动态的(修改后立即生效)。注意,该选项所保留的剩余空间是针对整个表的。该空间并不是基于表中每个数据行的。,保留页间隔,Examples:create table publishers(pub_idchar(4)NOT NULL,.)with reservepagegap=15create clustered index idx_1_titleson titles(title_id)with reservepagegap=15指定服务器在每隔 x 页数后留有一个

19、空白页在上面的例子中,服务器每隔15张数据页或索引行后留有一个空白页。页间隔可减少行漂移和提供索引聚族。,改变空间管理选项,语法:sp_chgattribute table_name,“max_rows_per_page”|fillfactor”|“reservepagegap”|exp_row_size”,value例子:sp_chgattribute publishers,exp_row_size,230sp_chgattribute命令改变后不能立即生效。只有在下面情况下使用新参数:在该表上创建聚族索引;运行 reorg rebuild 命令;由于该表的锁方案从 APL 改变到 DOL

20、或反之,需要重建该表。由于数据修改而影响到表中页。,APL 和 DOL 页的维护方法不同。APL 页立即回收自由空间,当指定页上没有足够空间存放数据时,则发生页分裂。DOL 页使用逻辑删除和行漂移。DOL页容易形成垃圾。DOL聚族索引易于非聚族化。服务器自动回收垃圾。如果一个进程在一个有垃圾的页上需要空间,该垃圾就会立即被回收。管家搜集由其他进程探测到的垃圾。自动垃圾回收只回收已访问的页。,总结,总结,reorg命令能够用于:手工搜集垃圾;缺省漂移行;改善索引聚族。optdiag实用程序用于监测 DOL 页空间管理。在创建 DOL 表和索引时使用空间管理选项,以防止将来低效的空间管理。fill

21、factormax_rows_per_pagereservepagegapexp_row_size,命令和参数总结,reorg压缩 DOL 页空间,因此回收垃圾。取消漂移行。提高 DOL 索引聚族。optdiag显示储存在 systabstats 和 sysstatistics 系统表中的优化器信息。create table/create index.fillfactor指定每页中应充满的空间。create table/create index.max_rows_per_page设置每页中的最大行数。,create table/create index.reservepagegap在带数据行的

22、每x页后,创建一个空白页。create table/create index.exp_row_size设置每行所使用的最小空间。sp_chgattribute改变现存表或索引的空间管理选项。配置参数:default fill factor-指定索引在创建时没有指定填充因子的情况下,该索引所使用的填充因子百分比(缺省:0(填充因子留由服务器决定),静态)。default expected row size percent-当创建表没有指定行期望值大小时,它指定每页剩余自由空间的百分比(缺省:5,动态)。,命令和参数总结,复习问题,1.给出维护 APL 页和维护 DOL 页的两个不同点。2.什么样的 DOL 页维护会导致性能下降?3.什么是垃圾?4.什么时候垃圾回收?5.给出 reorg 命令能够提高表性能的三个方式。6.如何创建一个表,使它每页充满75%,每页留有25%供将来增长?(有两个答案。),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号