Trafodion SQL调优基本步骤
来源:互联网 发布:免费网店推广软件 编辑:程序博客网 时间:2024/05/16 16:15
最近经常会被人问到SQL执行很慢,如何使之跑的更快一些,这篇文章主要在此总结一下我在遇到这个问题的一引起心得体会,叙述一下SQL调优的基本步骤,如有错误,欢迎指正!
我认为Trafodion中的SQL调优可以大致概括如下,
获取SQL执行语句
获取表DDL,可以通过执行“SHOWDDL table_name;”生成
步骤1 和 2 也可以通过收集OSIM实现,方法如下,
a. Sqlci;
b. CONTROL OSIM CAPTURE LOCATION ‘osim’;
c. PREPARE ss FROM query_text;
d. CONTROL OSIM CAPTURE STOP;获取表的统计信息,可以通过执行“SHOWSTATS FOR TABLE table_name ON EVERY COLUMN;”生成
通过1中的SQL语句及2中的表DDL,判断表的KEY(PK或STORE BY)字段定义是否合理以及表的分区数(SALT USING n PARTITIONS)设置是否合理,
具体规则可参考http://blog.csdn.net/post_yuan/article/details/73167376 中建表之“主键/聚集键”及“分区”通过4中的统计信息,判断是否存在表没有收集统计信息,如果没有,执行“UPDATE STATISTICS FOR TABLE table_name on every column [sample];”生成,统计信息对优化器选择正确的执行计划至关重要
通过EXPLAIN OPTIONS ‘s’ query_text判断SQL的执行计划是否正确,一般来说只要上述步骤完成,执行计划应该不会错误
上述步骤执行完成已经实现了第一步优化,如果依然不能满足需求,通过一边执行SQL一边查看SQL运行时统计信息定位问题,方法如下,
a. su – trafodion;
b. cd $MY_SQROOT/export/limited-support-tools/LSO/
c. ./offender -s active,找到对应的query_id
d. Sqlci; GET STATISTICS FOR QID query_id DEFAULT; 查看慢在哪一步通过7中的统计信息,可以通过当前执行花费时间及处理记录数估算总耗时,如果不能满足需求,使用“CONTROL QUERY CANCEL QID query_id”取消正在执行的SQL,并重新优化
注:优化无止境,优化可以是一个迭代的过程,直到满足需求为止,迭代结束!
- Trafodion SQL调优基本步骤
- sql调优基本步骤
- Trafodion ODB性能调优
- SQL基本安装步骤
- Trafodion:Transactional SQL on HBase
- Trafodion 查看历史SQL执行情况
- Websphere性能调优的基本步骤
- WAS中的基本调优步骤
- Trafodion: 针对HBase的SQL事务支持
- Trafodion SQL执行时间过长原因分析
- SHELL调用Trafodion SQL与并发执行
- Trafodion成熟的SQL on HBase解决方案
- Trafodion 查询SQL来自哪个客户端
- trafodion表元数据破坏,hbase数据正常情况下恢复trafodion表数据步骤
- SQL Server调优的五个步骤
- SQL Server调优的五个步骤
- C#数据库查询的基本步骤(Sql Server)
- SQL注入的基本方法和操作步骤
- ESP8266的TCP通信
- PHP安全编程:跨站请求伪造CSRF的防御
- android沉浸式状态栏StatusBar在不同Window下的实现
- nohup后台运行Python调度脚本(最终发布)
- thread39
- Trafodion SQL调优基本步骤
- CentOS7 增加tomcat 启动,停止,使用systemctl进行配置
- 组合数计算,防止溢出
- 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
- 程序员穿越 90年代
- mysql5.6主从配置
- React-Native PanResponder的学习与使用
- 合并两个git仓库
- Android 友盟应用