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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库插入的速度快还是更新的速度快啊相关的知识,希望对你有一定的参考价值。

我想可不可以在更新时使用delete(int id)先删除然后在插入insert(been b),相比较直接update哪个快啊,?
有DBA吗?求真解

个人看法是update快啊。oracle先删后插入,隐含的rowid什么的都变化了,而且还要重新分配空间什么的,事务数量也多了,
总之和update的效果不一样,虽然你之后进行select的返回值一样。
参考技术A 在大型数据库操作最忌就是删除之后再插入,没有这种搞法。
直接按关键字更新,必须是关键字或完整索引。

所有操作都按照关键字或完整索引处理,速度是比较快的。如果偏离这个方向,那就谈不上速度问题了。本回答被提问者采纳
参考技术B 相同数量级的话,更新可能会比插入快一些。因为更新不需要在DB里重新分配空间,而插入需要在DB里重新分配空间。
但是,如果数量级不同的话,就不好说了。因为还涉及性能的问题。
参考技术C 你可以这样去测试
同样一个实例中 一个表 内存清空, delete一条 再 insert一条 循环十万次 看看时间
再情况内存 ,直接跟新十万条, 你会发现这个时间相差很大的 如果这个表索引较多 时间会相差更大
参考技术D 更新一条数据的同时会往重做日志中写记录,以便在更新失败的时候利用重做日志来恢复数据,所以一般情况下更新比插入速度更慢,因为它执行了两次操作,时间要比直接插入长一倍左右。
但是不能用先删后插这种操作,因为删除并不能释放表空间,如果数据量很大的情况下,会浪费很多资源。
可以考虑用 update /*+nologging*/ tab set a=1,不记录重做日志(需谨慎),因为更新失败不能恢复,最好做好备份

clickhouseclickchouse的分区合并速度小于插入速度会怎么样

文章目录


1.概述

问题:

clickchouse的分区合并速度小于插入速度会咋样啊? 我们10秒插入一下

我们插入这么快的话会影响到clickhouse的合并吗?

怎么缓解呢?

参考:【clickhouse】clickhouse 表引擎之 Buffer


怎么确定我们的文件多不多呢?用如下命令查询数据位置

1.clickhouse1 

以上是关于oracle数据库插入的速度快还是更新的速度快啊的主要内容,如果未能解决你的问题,请参考以下文章

Oracle表刚插入大量数据,索引会立即起作用吗?

oracle中加索引会不会加快更新的速度?有人说会减慢更新速度?谁知道为啥吗?

向oracle数据库中插入数据时,先判断插入数据是不是重复,如果重复,通过sql提示重新输入,否则直接插入

LeetCode 1206. Design Skiplist

Hbase与Oracle比较(列式数据库与行式数据库)

mysqldump 导出来.sql文件导入数据库的速度为啥比自己写的insert语句快