oracle数据库插入的速度快还是更新的速度快啊

我想可不可以在更新时使用delete(intid)先删除然后在插入insert(beenb),相比较直接update哪个快啊,?有DBA吗?求真解... 我想可不可以在更新时使用delete(int id)先删除然后在插入insert(been b),相比较直接update哪个快啊,?
有DBA吗?求真解
展开
 我来答
阿发他哥哥
2011-12-30 · 超过74用户采纳过TA的回答
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:91.2万
展开全部
个人看法是update快啊。oracle先删后插入,隐含的rowid什么的都变化了,而且还要重新分配空间什么的,事务数量也多了,
总之和update的效果不一样,虽然你之后进行select的返回值一样。
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
hongyaofu
2011-12-30 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:520万
展开全部
在大型数据库操作最忌就是删除之后再插入,没有这种搞法。
直接按关键字更新,必须是关键字或完整索引。

所有操作都按照关键字或完整索引处理,速度是比较快的。如果偏离这个方向,那就谈不上速度问题了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhoudha
生活家

2015-07-03 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:156万
展开全部
相同数量级的话,更新可能会比插入快一些。因为更新不需要在DB里重新分配空间,而插入需要在DB里重新分配空间。
但是,如果数量级不同的话,就不好说了。因为还涉及性能的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友be34ef5
2012-01-01 · TA获得超过138个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:161万
展开全部
你可以这样去测试
同样一个实例中 一个表 内存清空, delete一条 再 insert一条 循环十万次 看看时间
再情况内存 ,直接跟新十万条, 你会发现这个时间相差很大的 如果这个表索引较多 时间会相差更大
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
始终zc
2020-07-13
知道答主
回答量:1
采纳率:0%
帮助的人:595
展开全部
更新一条数据的同时会往重做日志中写记录,以便在更新失败的时候利用重做日志来恢复数据,所以一般情况下更新比插入速度更慢,因为它执行了两次操作,时间要比直接插入长一倍左右。
但是不能用先删后插这种操作,因为删除并不能释放表空间,如果数据量很大的情况下,会浪费很多资源。
可以考虑用 update /*+nologging*/ tab set a=1,不记录重做日志(需谨慎),因为更新失败不能恢复,最好做好备份
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式