统计数据为 Teradata 优化器提供关于每个值的行数信息,然后 Teradata Database 使用这些信息评估和选择最优的数据访问计划。使用统计数据可提升复杂查询和联接的性能。这对于访问值的分布不均匀的列或索引很有帮助。系统重新配置后,统计数据仍然有效。
系统不会自动更新收集到的统计数据。您要负责重新收集统计数据,以确保 Teradata Optimizer 可以做出准确决定。
要求和限制
用户必须对 dbc.IndexStats、dbc.ColumnStats 和 dbc.MultiColumnStats 视图具有 SELECT 访问权限。
- 复制已收集了统计信息的整个数据库时,即使 copyStats 属性为 false 或未指定,DSA 也将复制该统计信息。为了避免这种情况,请使用 Teradata PT API 或 Teradata JDBC 复制数据库。
- 如果使用 DSA 复制数据库,则缺省情况下将复制与该数据库中的表或索引关联的任何统计信息。
- 覆盖目标系统中的联接索引或哈希索引时,将删除之前收集到的关于目标索引的统计数据。
- 对于已收集了统计数据的表、联接索引和哈希索引,XML 中缺省不会为其显示 copyStats 属性。要复制统计数据,请在 XML 中手动输入该属性。
- 在作业创建后、运行前添加的新统计数据(列、多列或索引)将作为作业的一部分进行复制。
- Data Mover 会使用 SHOW STATISTICS 的输出将统计数据复制到目标表。