oracle一次提交的上限 Oracle数据库一次执行大量的insert语句,怎样优化?
Oracle数据库一次执行大量的insert语句,怎样优化?
1. 原始表中有多少数据?考虑是否可以删除或禁用索引?插入后重新生成
2。当业务空闲时,使用append和parallel进行insert
3。您还可以设置每1W提交一条记录
以加快Oracle数据库的数据插入速度。
从编程的角度来看:
1。使用绑定变量来实现一个预编译和多次执行的效果。如果不使用绑定变量,数据库每次都会分析SQL并消耗资源。
2使用Oracle提供的批处理接口,减少网络传输次数,提高效率
3适当增加提交间隔,提交指令消耗更多数据库资源,提交前尽量插入更多数据。1000多条建议。
4. 使用insert语句的hint(如append)和nologing选项来减少数据库日志注册。
5. 从数据库的角度考虑使用多进程插入或并行提示插入
1。将表更改为nologing模式,这样就不需要注册回滚日志了
2。对表进行分区,使不同的分区落在不同的硬盘上
3。删除表的索引,插入数据后还原
4。增加数据库缓冲区
5使用SSD存储和其他高效硬盘作为数据库存储
其他细节:
例如,将程序部署到数据库服务器,然后进行操作以减少网络消耗
插入数据,并将程序输出日志重定向到硬盘
没有好办法,最后一次提交
如果需要,根据条件过滤数据并分别提交
例如:
insert into table_u2;a select*from table_2;b where type=1
commit
insert into table_2;a select*from table_2;b where type=2
commit
就是一个例子。最后一种是成套的
oracle一次提交的上限 oracle一次提交多少数据合理 oracle违反唯一约束条件
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。