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