社区
Oracle
帖子详情
Oracle更新五百万条数据怎么提高效率
Mr_L__
2021-04-06 10:55:20
UPDATE SWLY_OCAEXPLICIT SET ROUTE= F_Getallroutedescribebyid(PORT_SID,0);
...全文
758
4
打赏
收藏
Oracle更新五百万条数据怎么提高效率
UPDATE SWLY_OCAEXPLICIT SET ROUTE= F_Getallroutedescribebyid(PORT_SID,0);
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
YC老钢炮
2021-08-13
打赏
举报
回复
新建一张表,ctas处理吧,然后rename,这样快;前提是有应用关停的窗口。
冰思雨
2021-04-12
打赏
举报
回复
只使用数据库来做的话,没有什么好的办法。 如果配合应用程序来完成的话,采用多线程并发更新,可能是个比较好的选择。 因为,只使用数据库的话,大数据量的更新操作,会产生锁冲突,以及其他相关联的事务,被耽搁了。 如果配合应用程序的话,可以把五百万的数据,每一条都分成一个小事务来做,这样的话,不容易产生锁冲突,死锁等问题。其他事务也有被进行下去的机会,当然,数据层面上,由于不是一个大的事务,会不会出现数据不一致的问题,也要考虑一下。一般情况下,我们是通过配合应用程序并发更新来完成大批量的数据更新操作的。3个以上的线程就会明显快很多。
好记忆不如烂笔头abc
2021-04-06
打赏
举报
回复
如果数据库版本>=11.2可考虑dbms_parallel_execute并行包
好记忆不如烂笔头abc
2021-04-06
打赏
举报
回复
loop每2-5000条记录批量循环更新,别一次性。
Oracle
批量导入100万
条
数据
不到1秒
Oracle
批量导入100万
条
数据
不到1秒
oracle
一次插入多
条
数据
(insert all)
问题 公司的项目,有个功能每次使用需要向
数据
库插入很多
数据
,导致页面等待很长时间才有结果。
数据
库:
oracle
11g id:采用sequence自增 每次循环,都会查询一次sequence,然后insert一
条
数据
,性能非常低。 改进 改成一次插入多
条
数据
,id通过触发器自动设置,不再每次先查询sequence,效率提高非常多。
oracle
一次插入多
条
的方法 在
oracle
...
oracle
大量
数据
更新
优化(merge)
实验环境中我采用两种方法进行优化,为了对比准确,没有加并行。总结:update的优化如果可以改写成merge或者update内联视图的方式,适用于大
数据
量
更新
,避免采用单
条
更新
,防止多次扫描子查询中的表。资源允许情况,可以开启dml和查询并行。内部是通过单
条
跟新的方式进行,从p_t中那出一
条
记录去c_t中匹配,c_t中采用索引扫描,然后再通过rowid访问表取到name。实际应用中,我将语句改写成了merge,并加入了dml并行和select并行提示,将原来
更新
两个多小时的sql优化到只跟新了3分钟不到。
Oracle
百万级连表
更新
merge替代update实现快速高效
更新
Oracle
百万级连表
更新
merge替代update实现快速高效
更新
oracle
插表
数据
效率,
oracle
插入大量的
数据
效率的提高
-----------------------------------------------------------------搭建测试环境:--查看索引是否存在于当前用户select*fromdba_indexeswhereowner='system'andindex_name='IDX_TEST_INDEX';DROPTABLETEST_INDEX;CREATETABL...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章