Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询优化与执行 » 优化程序的工作原理

 

优化程序估计值和列统计信息

优化程序会根据存储在数据库中的列统计信息启发式算法(有根据的推测)来选择语句处理策略。对于优化程序所考虑的每个访问计划,都必须计算出一个估计的结果大小(行数)。例如,对基于查询中所用谓语的选择性估计的每个连接方法或索引访问,都会计算出一个估计的结果大小。这些估计的结果大小用于计算在计划中所使用的每个运算符(例如,JOIN 方法、GROUP BY 方法或顺序扫描)的预计磁盘访问开销和 CPU 开销。列统计信息是优化程序用于计算谓语的选择性估计值的主要数据。因此,它们对于正确估计访问计划的开销至关重要。

如果列统计信息失效或丢失,则性能会降低,因为不准确的统计信息可能导致执行计划效率低下。如果怀疑性能低下是由于不准确的列统计信息造成的,则应重新创建这些统计信息。请参见更新列统计信息以提高优化程序性能


选择性估计值来源
优化程序使用列统计信息的方式
优化程序使用启发式算法的方式
优化程序使用过程统计信息的方式
更新列统计信息以提高优化程序性能