oracle数据库插入的速度快还是更新的速度快啊
我想可不可以在更新时使用delete(intid)先删除然后在插入insert(beenb),相比较直接update哪个快啊,?有DBA吗?求真解...
我想可不可以在更新时使用delete(int id)先删除然后在插入insert(been b),相比较直接update哪个快啊,?
有DBA吗?求真解 展开
有DBA吗?求真解 展开
8个回答
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
展开全部
在大型数据库操作最忌就是删除之后再插入,没有这种搞法。
直接按关键字更新,必须是关键字或完整索引。
所有操作都按照关键字或完整索引处理,速度是比较快的。如果偏离这个方向,那就谈不上速度问题了。
直接按关键字更新,必须是关键字或完整索引。
所有操作都按照关键字或完整索引处理,速度是比较快的。如果偏离这个方向,那就谈不上速度问题了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相同数量级的话,更新可能会比插入快一些。因为更新不需要在DB里重新分配空间,而插入需要在DB里重新分配空间。
但是,如果数量级不同的话,就不好说了。因为还涉及性能的问题。
但是,如果数量级不同的话,就不好说了。因为还涉及性能的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以这样去测试
同样一个实例中 一个表 内存清空, delete一条 再 insert一条 循环十万次 看看时间
再情况内存 ,直接跟新十万条, 你会发现这个时间相差很大的 如果这个表索引较多 时间会相差更大
同样一个实例中 一个表 内存清空, delete一条 再 insert一条 循环十万次 看看时间
再情况内存 ,直接跟新十万条, 你会发现这个时间相差很大的 如果这个表索引较多 时间会相差更大
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更新一条数据的同时会往重做日志中写记录,以便在更新失败的时候利用重做日志来恢复数据,所以一般情况下更新比插入速度更慢,因为它执行了两次操作,时间要比直接插入长一倍左右。
但是不能用先删后插这种操作,因为删除并不能释放表空间,如果数据量很大的情况下,会浪费很多资源。
可以考虑用 update /*+nologging*/ tab set a=1,不记录重做日志(需谨慎),因为更新失败不能恢复,最好做好备份
但是不能用先删后插这种操作,因为删除并不能释放表空间,如果数据量很大的情况下,会浪费很多资源。
可以考虑用 update /*+nologging*/ tab set a=1,不记录重做日志(需谨慎),因为更新失败不能恢复,最好做好备份
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询