使用 HIGH 模式选项

使用 HIGH 模式选项来更新您可以 MEDIUM 模式选项计算的相同的统计信息。UPDATE STATISTICS HIGH 与 UPDATE STATISTICS MEDIUM 之间的差异是采样行的数目。

在 UPDATE STATISTICS MEDIUM 仅采样行的子集时,UPDATE STATISTICS HIGH 基于通过 UPDATE STATISTICS 语句使用的信任和分辨率来扫描整个表。

对于已经获得每个列的 MEDIUM 模式分发统计信息的索引了的表,您在其为索引键的一部分的每个列上运行 UPDATE STATISTICS HIGH 之后,查询优化器通常选择更为高效的执行计划。

数据库服务器将分发信息放置在 sysdistrib 系统目录表中,对于使用分布式存储的分片的表,还放置在其他系统目录表中。

如果您未指定 Resolution 子句,则分发给每个 bin 的数据的缺省百分率为 0.5,这个值将每一列的值的范围分成大约 200 个间隔。

构造的分发是准确的。因为收集更多的信息,此模式比 LOW 或 MEDIUM 模式执行得更慢。如果您使用 UPDATE STATISTICS 的 HIGH 模式选项,则数据库服务器可花费相当多的时间来收集跨数据库的信息,特别是带有大型表的数据库。HIGH 模式可能扫描每一表的每一列多次。要最小化处理时间,请指定表名称和那个表内的列名称,而不是接受所有表的缺省的范围。

然而,对于 LVARCHAR、BYTE 或 TEXT 列,不计算分发。

你必须有 DBA 权限或是该表的所有者来创建 HIGH 模式分发。要获取更多关于 MEDIUM 和 HIGH 模式选项的信息,请参阅主题 Resolution 子句