SQL检查和调优:
对SQL进行持续关注和分析在SQL自诊断的辅助下优化SQL的效率、性能。
主要涉及项:
1、SQL自诊断
当前CN上正在执行的作业的warning信息
SOL>SELECT warning FROM gs_wlm_session_statistics;
当前CN上历史执行的作业的warning信息。
SQL>SELECT warning FROM gs_wlm_session_history;
查询更久前的历史作业warning信息。
SQL>SELECT warning FROM gs_wm session info;
当GUC参数enable_resource_record为on时,GS_WLM_SESSION_HISTORY视图中的记录每隔3分钟被转储到系统表GS_WLM_SESSION_INFO中一次,同时GS_WLM_SESSION_HISTORY视图中的记录被删除;当GUC参数enable_resource_record为off时,记录在GS_WLM_SESSION_HISTORY视图中的存留时间达到超期时间( 超期时间为3分钟 )后会被删除。
2、查看执行计划
只生成执行计划,不实际执行。其中statement代表SQL语句。
SOL>EXPLAIN statement
生成执行计划,进行执行,并显示执行的概要信息。显示中加入了实际的运行时间统计,包括在每个规划节点内部花掉的总时间(以毫秒计)和它实际返回的行数。
SOL>SOL>EXPLAIN ANALYZE statement
生成执行计划,进行执行,并显示执行期间的全部信息。
SOL>EXPLAIN PERFORMANCE statement
3、统计信息收集
更新单个表的统计信息。
SOL>ANALYZE tablename;
更新全库的统计信息
SQL>ANALYZE;
建议定时任务执行统计信息收集
4、增加plan hint协助调优
SQL>SELECT /*+ <plan_hint1> <plan hint2> */* FROM t1,(SELECT/*+ <plan_hint3> */ FROM t2) WHERE 1=1;





