Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
重新创建优化程序所使用的列统计信息,并将它们存储到 ISYSCOLSTAT 系统表中。
CREATE STATISTICS object-name [ ( column-list ) ]
object-name : table-name | materialized-view-name | temp-table-name
CREATE STATISTICS 语句重新创建列统计信息,SQL Anywhere 使用此统计信息优化数据库查询,可在基表、实例化视图、局部临时表和全局临时表上执行此语句。但不可以在代理表上创建统计信息。列统计信息包括直方图,它反映数据库中指定列的数据分布情况。缺省情况下,会自动为含有五个或五个以上数据行的表创建列统计信息。
在极少数情况下,数据库查询非常多变,且数据分布不均或数据频繁变化,这时可通过针对某表或某列运行 CREATE STATISTICS 语句来提高性能。
执行过程中,无论表大小如何,CREATE STATISTICS 语句都会更新现有列统计信息,除非表为空(在这种情况下不执行任何操作)。如果空表存在列统计信息,则 CREATE STATISTICS 语句不会更改这些信息。若要删除空表的列统计信息,则执行 DROP STATISTICS 语句。
运行 CREATE STATISTICS 的过程中会对表执行全面扫描。因此,请在经过慎重考虑后再执行 CREATE STATISTICS 语句。
如果删除了统计信息,建议您使用 CREATE STATISTICS 语句重新创建此统计信息。没有统计信息,优化程序可能会生成低效数据访问计划,从而导致数据库性能降低。
DBA 特权。
执行计划可能发生变化。
SQL/2008 服务商扩充。
下列语句更新 SalesOrderItems 表中 ProductID 列的列统计信息:
CREATE STATISTICS SalesOrderItems ( ProductID );