达梦数据库查询优化器采用基于代价的计算方法。在优化器估算查询代价时,也是以统计信息或者普遍的数据分布为主要依据的,这跟Oracle数据库基于成本的优化器原理是类似的。所以,统计信息在达梦数据库优化中,是至关重要的。例如统计信息缺失,或统计信息陈旧,或抽样数据不能很好地反映数据分布时,优化器选择的执行计划不是“最优” 的,甚至可能是很差的执行计划,就会引起严重的数据库性能问题,甚至导致数据库服务器夯死。
达梦数据库的对象统计信息分三种类型:表统计信息、列统计信息、索引统计信息。通过直方图来表示。统计信息生成过程分以下三个步骤:
1. 确定采样的数据:根据数据对象,确定需要分析哪些数据。
1) 表:计算表的行数、所占的页数目、平均记录长度