2016 - 2024

感恩一路有你

oracle按条件批量更新 Oracle在插入大量数据时速度会越来越慢,请问有什么解决办法?

浏览量:1660 时间:2021-03-12 19:21:42 作者:admin

Oracle在插入大量数据时速度会越来越慢,请问有什么解决办法?

为了加快Oracle数据库的数据插入速度,方法:

从编程的角度来看:

1使用绑定变量实现一次预编译、多次执行的效果。如果不使用绑定变量,数据库每次都会分析SQL并消耗资源。

2使用Oracle提供的批处理接口,减少网络传输次数,提高效率

3适当增加提交间隔,提交指令消耗更多数据库资源,提交前尽量插入更多数据。1000多条建议。

4. 使用insert语句的hint(如append)和nologing选项来减少数据库日志注册。

5. 从数据库的角度考虑使用多进程插入或并行提示插入

1。将表更改为nologing模式,这样就不需要注册回滚日志了

2。对表进行分区,使不同的分区落在不同的硬盘上

3。删除表的索引,插入数据后还原

4。增加数据库缓冲区

5使用SSD存储和其他高效硬盘作为数据库存储

其他详细信息:

例如,将程序部署到数据库服务器,然后进行操作以减少网络消耗

插入数据程序输出日志并将其重定向到硬盘

批量提交,比如5000块一次。如果可以的话,建议使用sqlloader来插入

首先,需要定位插入速度慢是由于插入还是准备数据造成的。您可以注释掉插入代码,以查看准备数据需要多长时间。然后试着逐一插入所需时间,然后试着批量插入时间。找到代码中的瓶颈是第一步。

如果您确认它是由插入引起的,您可以检查您的表PK和索引。插入速度慢可能是由于索引速度慢造成的。您可以尝试在插入之前删除索引,并将PK设置为自增加。插入数据后添加索引。

oracle按条件批量更新 oracle用一个表更新另一个表 oracle批量update数据

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。