Adaptive Server 基于开销的优化程序使用查询中指定的表、索引和列的统计信息来估计查询开销。它选择优化程序确定的开销最小的访问方法。但如果统计信息不精确,这种开销估计也会不准确。
Sybase Central 使用向导来更新表的统计信息。
update statistics 可更新与列有关的统计信息,如直方图和密度等。如果更改索引中的键分布情况的方式影响使用查询中的索引,则需要更新相应列的统计信息。运行 update statistics 向导需要使用系统资源。与其它维护任务类似,应将其安排在服务器负载较少的时段。特别是,update statistics 需要进行索引的表扫描或叶级扫描,可能会增加 I/O 争用和使用 CPU 执行排序,以及使用数据和过程高速缓存。如果在使用率较高时运行 update statistics,使用上述资源可能会对服务器上运行的查询造成不利影响。此外,某些 update statistics 命令需要共享锁,这可能会阻止更新。
必须先启用 Job Scheduler,然后才能将 update statistics 配置为自动运行。update statistics 向导包含 datachange 阈值屏幕,可用于配置自动运行 update statistics(仅适用于 Adaptive Server 15.0 和更高版本)。
只有表所有者或数据库所有者可以更新索引统计信息。
update statistics 的运行时间是由 datachange 函数决定的。datachange 用于测量自上次运行 update statistics 以来更改的数据分布量。具体来说,它测量在给定对象、分区或列中插入、更新和删除数据的次数,并帮助您确定调用 update statistics 是否对查询计划有所帮助。
将 update statistics 设置为自动运行后,该命令将在其阈值小于或等于 datachange 的值时运行。
有关 datachange 的详细信息,请参见《Adaptive Server 参考手册:命令》。
只有表所有者或数据库所有者可以更新索引统计信息。
启动 update statistics 向导
选择要更新统计信息的索引。
选择“文件”|“更新统计信息”。
按照“更新统计信息”向导中的步骤操作。
右键单击索引图标。从快捷菜单中选择“更新统计信息”。
在运行 update statistics 后,请重新编译定义了索引的表。这可确保使用该索引的过程和触发器将使用新的键分布方式。