我有一张表格A ,有大约一千五百万条记录。我有一个流程可以将数据从另一个临时表B 中删除并插入表A 。
它工作正常,另一位用户无法直接访问此表格A 。流程方案是 - 1)从表格A 中删除表格B 的所有匹配记录。 2)从表B 中将新的新数据插入表A 。
但有时候过程会陷入困境。我检查过但没有得到任何解决方案。
A)因此,我创建了新表来代替表A ,并将旧数据从表A 中提取到新表中。过了一段时间,我遇到了与新表相同的问题。
B)下次,我创建了另一个表来代替表A ,但没有在此表中插入旧记录。现在,流程工作正常。
但是我需要一个解决方案来将所有记录放在表A 中。 请,有人可以提供帮助吗?
我正在使用 SQL Server 2005企业版。此过程通过存储过程完成。表没有任何索引。只有简单的删除和插入。
答案 0 :(得分:0)
我认为在处理大量数据时缓冲区变满了。要刷新缓冲区,请在执行一定量COMMIT
之后使用inserts
语句,这会导致数据缓冲区写入磁盘。
答案 1 :(得分:0)
我得到了解决方案,数据库端问题。 正如我所观察到的,如果您的数据库变得很大,那么您需要监视数据库并运行维护作业以消除数据库中的任何不一致。