以下方法有助于控制表碎片:
使用 PCTFREE SQL Anywhere 在每一页上保留了额外的空间,以允许行略微地增大。当对行的更新使行大小超过为它分配的初始空间时,该行将被拆分,而初始行位置将包含一个指针,它指向存储整个行的另一页。例如,如果用 UPDATE 语句填充空行或将新列插入表,可能会导致严重的行拆分。当更多的行存储在单独的页上时,需要更多的时间来访问附加页。
通过指定应该为将来的更新而保留的空间在表页中所占的百分比,可以减少表中的碎片数。对 PCTFREE 的指定可以用 CREATE TABLE、ALTER TABLE、DECLARE LOCAL TEMPORARY TABLE 或 LOAD TABLE 来设置。
重组表 可以使用 REORGANIZE TABLE 语句或者在 Sybase Central 的 [碎片] 选项卡中单击 [重组] 来整理特定表的碎片。
重建数据库 倘若重建分两步过程执行(即,将数据卸载并存储到磁盘,然后重装),则重建数据库将整理包括系统表在内的所有表的碎片。以这种方式进行重建还有一个优点,会重排表行以便它们按聚簇索引和主键指定的顺序出现。一步重建(例如,使用 -ar、-an 或 -ac 选项)不会减少表碎片。
[碎片] 选项卡(SQL Anywhere 插件)
查看对象的碎片详细信息
重组基表和索引
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |