【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
【附件】
有碰到insert into () values(select /+parallel(64)/复杂sql) 里面的子查询可能几分钟能返回 ,加上外面的insert之后 执行时间估计能到两个小时 这种情况吗
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【问题现象及影响】
【附件】
有碰到insert into () values(select /+parallel(64)/复杂sql) 里面的子查询可能几分钟能返回 ,加上外面的insert之后 执行时间估计能到两个小时 这种情况吗
多少行数据,是不是大事务了
insert 后面实际返回一行数据。只不过里面的select 需要查一个4亿行的大表,单独执行select 可能就十分钟。加上前面的insert 就得俩小时了
对比下2个SQL的执行计划
1、sql命令行登录的时候是否有加“-c” 加上-c 表示不忽略hint注释。
2、explain extended select /+parallel(64) /复杂sql \G
3、explain extended insert into () values(select /+parallel(64) /复杂sql \G
登录时候已经加了-c
上图就是 insert 和 里面复杂sql的执行计划
你是要看outputs & filters 还是 optimization info
OB 版本提供一下:
show variables like ‘version_comment’;
涉及的表结构 show create table xxx \G,可以脱敏
涉及的 insert into () values(select /+parallel(64) /复杂sql) 完整sql,可以脱敏。
insert后边加并行的hint呢?