Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
检索列的直方图。
sa_get_histogram( col_name, tbl_name [, owner_name ] )
col_name 使用此 CHAR(128) 参数指定从中检索直方图的列。
tbl_name 使用此 CHAR(128) 参数指定从中找到 col_name 的表。
owner_name 使用此可选的 CHAR(128) 参数指定 tbl_name 的所有者。
此用于内部诊断的过程检索来自数据库服务器指定列的列统计信息。请注意,当这些统计信息永久存储在系统表 ISYSCOLSTAT 中时,它们在服务器运行时保持在内存中,并被定期写入到 ISYSCOLSTAT。因此,由 sa_get_histogram 系统过程返回的统计信息可能与通过在任意给定时间点从 ISYSCOLSTAT 中选择而获取的统计信息不同。
通过使用 sa_flush_statistics 系统过程,可使用内存中所保存的最新统计信息来手工更新 ISYSCOLSTAT,然而,建议在生产环境中不要这样做,此做法应保留以用于诊断目的。请参见sa_flush_statistics 系统过程。
单一域桶是通过结果集中的 Low 值等于相应的 High 值进行指示的。
建议您使用直方图实用程序查看直方图。请参见直方图实用程序 (dbhist)。
要确定关于字符串列的谓词选择性,使用 ESTIMATE 或 ESTIMATE_SOURCE 函数。对于字符串列,sa_get_histogram 和直方图实用程序都从 ISYSCOLSTAT 系统表中检索不到任何内容。尝试检索字符串数据将会生成错误。请参见ESTIMATE 函数 [Miscellaneous]和ESTIMATE_SOURCE 函数 [杂类]。
表或实例化视图可能不会显示统计信息(包括直方图),例如,对于最近已删除统计信息的情况。在这种情况下,sa_get_histogram 系统过程的结果集为空。要为表或实例化视图创建统计信息,需执行 CREATE STATISTICS 语句。请参见CREATE STATISTICS 语句。
DBA 特权
无
例如,以下语句检索 SalesOrderItems 表中 ProductID 列的直方图:
CALL sa_get_histogram( 'ProductID', 'SalesOrderItems' );