我在做一项目时,客户的技术人员指出在每个功能模块处理时
要以1000件为单位,进行commit处理。
例如,我从A表中根据条件抽出数据,插入到B表,本来用一个语句
insert into A select ... from B where 条件1 and 条件2
可以很简单的完成。
每n件一提交,这让我感到很晕乎,有啥理论依据吗? 当大数据量,比如千万级以上时,是不是需要进行n件一提交?(考虑到内存的占用量)
要以1000件为单位,进行commit处理。
例如,我从A表中根据条件抽出数据,插入到B表,本来用一个语句
insert into A select ... from B where 条件1 and 条件2
可以很简单的完成。
每n件一提交,这让我感到很晕乎,有啥理论依据吗? 当大数据量,比如千万级以上时,是不是需要进行n件一提交?(考虑到内存的占用量)
,如果会滚段不够用,那就吃不了都着走了
还是分开commit 比较[/size]好。
,如果会滚段不够用,那就坏了大事
还是分开commit 比较好。
n条commit1次,保证你的I/O可以连续干活。
n太大,回滚段可能会容量不够,那时候会出现快照过旧的错误,呵呵。
n要设置为一个合理的值,不要过大,不要过小。