暂无图片
CTAS有什么办法加快效率吗
我来答
分享
猫瞳映月
2022-04-07
CTAS有什么办法加快效率吗
暂无图片 10M

windows server 2008

oracle 11.2.0.1.0 单实例ADG环境

CREATE TABLE EMP_BAK AS SELECT E.EMPNO,E.ENAME,E.IMAGE,E.CREATETIME FROM EMP E,DEPT D
WHERE E.EMPNO=D.DEPTNO
AND E.CREATETIME >= '20210401';


想把上述SQL的结果使用CTAS的方式备份到EMP_BAK 表中。

EMP表是一张存储图片的大表,段大小500GB,近一年有4000万数据。

请问有什么办法加快效率吗

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
刘浩

不要使用并行,并行对这种LOB数据不起作用的,建议把文本数据和LOB数据分开操作,文本数据比较小,可以通过CTAS方式一次迁走,LOB数据建议多分几个批次。

暂无图片 评论
暂无图片 有用 0
暂无图片
猫瞳映月
题主
2022-04-08
开了并行,确实不起作用,十几个小时没完成,谢谢你的建议,还是分开操作吧
文成

如果是含有大字段的表,一般迁移的速度都会很慢,首先看看去掉select中的大字段看看速度快不快,如果速度不快,看看当前sql执行计划是不是有问题,如果确实要迁移大字段,可以在select中加上并行hint试试 select /*+ parallel(10) */

暂无图片 评论
暂无图片 有用 0
猫瞳映月
题主
2022-04-07
开并行感觉没起作用,五个小时了还没执行完成,又不敢结束,可能是因为表中有LOB,并行不起作用了
吾喾

优化执行计划,适当加并行

暂无图片 评论
暂无图片 有用 0
DarkAthena

加这个条件和不加这个条件,数据的比例是多少?
E.CREATETIME >= ‘20210401’

暂无图片 评论
暂无图片 有用 0
Uncopyrightable

单节点下在开归档模式可以加上nologging,但这样DG方式,需要备库获取归档日志信息,很尴尬

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏