Teradata SQL 性能优化.pdf
文本预览下载声明
TERADATA SQL 性能优化
Jehn, Xiao
2014.4.25
AGENDA
优化介绍
预备知识
优化方法
案例分享
SQL运行很慢?
相关表被锁
Database lock、Table lock
Utility lock ,如备份工具
数据库内部操作
Mini-Cylpacks/Packdisk
查询运行太偏或IO过大
SQL编写不规范
Primary Index选择不当
错误的执行路径
3 6/18/2014 Teradata Confidential
Professional Consultant Jehn, Xiao
预备知识
Teradata SQL优化基础知识:
• Database Query Logging (DBQL)
• Statistics
• SQL Explain
• Build Locally
• ALL-AMPs Redistributed
• ALL-AMPs Duplicated
• JOIN
4 6/18/2014 Teradata Confidential
Professional Consultant Jehn, Xiao
预备知识 - DBQL
Database Query Logging (DBQL)
数据库日志服务,记录用户提交SQL的执行情况,包括:
CPU使用
IO使用
Spool使用
AMP使用
5 6/18/2014 Teradata Confidential
Professional Consultant Jehn, Xiao
预备知识 - Statistics
统计信息(Teradata Table Statistic )
SQL解析引擎(PE )按照统计信息确定执行计划。没有统计信息,PE不
知道什么样的执行计划是合适的,可能会做出效果不佳的执行计划!
定义方式:
collect statistics on tablename column(columnname);
collect statistics on tablename index (partitioning columns);
collect stat on tablename column partition;
什么样的信息值得收集?
• 非唯一次索引(NUSI )
• 唯一主索引(UPI )
• 非唯一索引(NUPI )
• 连接索引(Join Index )
• 连接列(Join Columns )
• 过滤列(Qualifying Columns )
6 6/18/2014 Teradata Confidential
Professional Consultant Jehn, Xiao
预备知识 - SQL Explain
执行计划(SQL Explain )
Teradata PE选择的详细SQL运行路径,例如:
SELECT DISTINCT ( PV_PDATA.QTC_AGENT_DATA_MIN15.T_Inbound_Total +
PV_PDATA.QTC_AGENT_DATA_MIN15.T_Work_Total +
PV_PDATA.QTC_AGENT_DATA_MIN15.T_Hold_1 +
PV_PDATA.QTC_AGENT_DATA_MIN15.T_Hold_2 )
FROM PV_PDATA.QTC_AGENT_DATA_MIN15
1) First, we lock PT_PDATA.QTC_AGENT_DATA_MIN15 in view
PV_PDATA.QTC_AGENT_DATA_MIN15 for access.
2) Next, we do an all-AMPs SUM step to aggregate from
PT_PDATA.QTC_AGENT_DATA_MIN1
显示全部