Adaptive Server 基于开销的优化程序使用查询中指定的表、索引和列的统计信息来估计查询开销。它选择优化程序确定的开销最小的访问方法。但如果统计信息不精确,这种开销估计也会不准确。
update statistics 可更新与列有关的统计信息,如直方图和密度等。如果更改索引中的键分布情况的方式影响使用查询中的索引,则需要更新相应列的统计信息。运行 update statistics 向导需要使用系统资源。与其它维护任务类似,应将其安排在服务器负载较少的时段。特别是,update statistics 需要进行索引的表扫描或叶级扫描,可能会增加 I/O 争用和使用 CPU 执行排序,以及使用数据和过程高速缓存。如果在使用率较高时运行 update statistics,使用上述资源可能会对服务器上运行的查询造成不利影响。此外,某些 update statistics 命令需要共享锁,这可能会阻止更新。
可以使用 update statistics、update all statistics、update index statistics 和 update table statistics 命令更新表、列或分区(针对 Adaptive Server 15.0 和更高版本)的统计信息。
要更新统计信息,请从相应对象的上下文菜单中选择“更新统计信息”向导。
有关 update statitistics 的详细信息,请参见《Adaptive Server 参考手册:命令》。
必须先启用 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 向导
选择要更新其统计信息的表、列或分区。
选择“文件”|“更新统计信息”。
按照“更新统计信息”向导中的步骤操作。
右键单击索引图标。从快捷菜单中选择“更新统计信息”。