- Teradata 教程
- Teradata - 主页
- Teradata 基础知识
- Teradata - 简介
- Teradata - 安装
- Teradata - 架构
- Teradata - 关系概念
- Teradata - 数据类型
- Teradata - 表
- Teradata - 数据操作
- Teradata - SELECT 语句
- 逻辑和条件运算符
- Teradata - SET 运算符
- Teradata - 字符串操作
- Teradata - 日期/时间函数
- Teradata - 内置函数
- Teradata - 聚合函数
- Teradata - 案例与合并
- Teradata - 主索引
- Teradata - 加入
- Teradata - 子查询
- Teradata 高级版
- Teradata - 表类型
- Teradata - 空间概念
- Teradata - 二级索引
- Teradata - 统计
- Teradata - 压缩
- Teradata - 解释
- Teradata - 哈希算法
- Teradata - 连接索引
- Teradata - 视图
- Teradata - 宏
- Teradata - 存储过程
- Teradata - 加入策略
- Teradata - 分区主索引
- Teradata - OLAP 函数
- Teradata - 数据保护
- Teradata - 用户管理
- Teradata - 性能调优
- Teradata - 快速加载
- Teradata - 多负载
- Teradata - 快速导出
- Teradata-BTEQ
- Teradata 有用资源
- Teradata - 问题与解答
- Teradata - 快速指南
- Teradata - 有用的资源
- Teradata - 讨论
Teradata - 性能调优
本章讨论 Teradata 中的性能调整过程。
解释
性能调优的第一步是在查询中使用 EXPLAIN。EXPLAIN 计划提供了优化器如何执行查询的详细信息。在解释计划中,检查关键字,如置信度、使用的连接策略、假脱机文件大小、重新分配等。
收集统计数据
优化器使用数据人口统计来制定有效的执行策略。COLLECT STATISTICS 命令用于收集表的数据人口统计信息。确保在列上收集的统计信息是最新的。
收集 WHERE 子句中使用的列和连接条件中使用的列的统计信息。
收集有关唯一主索引列的统计信息。
收集非唯一二级索引列的统计信息。优化器将决定是否可以使用 NUSI 或全表扫描。
虽然收集基表的统计信息,但收集Join Index 的统计信息。
收集分区列的统计信息。
数据类型
确保使用正确的数据类型。这将避免使用超出所需的过多存储空间。
转换
确保连接条件中使用的列的数据类型兼容,以避免显式数据转换。
种类
除非需要,否则删除不必要的 ORDER BY 子句。
假脱机空间问题
如果查询超出该用户的每个 AMP 假脱机空间限制,则会生成假脱机空间错误。验证解释计划并确定消耗更多假脱机空间的步骤。这些中间查询可以拆分并单独放置以构建临时表。
主要指数
确保为表正确定义主索引。主索引列应该均匀分布数据并且应该经常使用来访问数据。
设置表
如果定义 SET 表,那么优化器将检查插入的每条记录的记录是否重复。要去除重复检查条件,可以为表定义唯一二级索引。
大表更新
更新大表将非常耗时。您可以删除记录并插入包含已修改行的记录,而不是更新表。
删除临时表
如果不再需要临时表(临时表)和易失性表,请将其删除。这将释放永久空间和假脱机空间。
多集表
如果确定输入记录不会有重复记录,则可以将目标表定义为 MULTISET 表,以避免 SET 表使用的重复行检查。