为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:SQL优化相关
alter session set events ‘immediatetrace name plndump level
类似trace 生成问题SQL详细信息的方法还有吗?
例如oracle 10046事件,可以查到语句相关SQL执行计划,逻辑读,排序,消耗时间……这类信息的
ALTER SESSION SET 'MONITOR_SQL_EXEC' = 1;
-- 执行你的SQL,并记录执行号exec_id
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR(SQL_EXEC_ID=>1134394) FROM DUAL;
alter session set events '10046 trace name context forever';
alter session set events '10046 trace name context forever, level 1';
您好可以执行上述SQL,尝试分析过程中语句的信息和计划信息,执行过程中的信息
目前进入disql跟踪执行SQL可以:
alter session set 'monitor_sql_exec'=1;
set autotrace trace;
然后查看et;
select * from dba_tables limit 10;
eg:
et:查看具体操作符消耗时间
将内存中执行计划,生成在/soft/dmdbms/dm.log文件中,发现走的是全表扫描
select cache_item,sqlstr from v$cachepln where sqlstr like '%ztbs, hsjgdm, lsxh%'; --查询SQL的cache_item(举例为140116797555440)
alter session set events 'immediate trace name plndump level 140116797555440,dump_file ''/soft/dmdbms/dm.log''';