gpt4 book ai didi

c# - 进行看似同时发生的大量表更改

转载 作者:行者123 更新时间:2023-11-30 21:51:49 25 4
gpt4 key购买 nike

每隔几个小时,我需要删除表中的几千条记录,然后立即插入几千条记录来替换删除的记录。有些应用程序偶尔会读取此数据。我不希望这些应用程序执行表读取并获取一些旧记录和一些新记录,并且我不希望这些应用程序在所有记录被插入之前读取。

我想从我的 C# 代码中进行删除和插入。我会将它们组合成一个“开始”和“结束” block ,然后将其一次性全部发送给 Oracle……除非它的大小可能超过 100k。这似乎太大了。因此,在 for next 循环中运行多个语句似乎是我的最佳选择。但是这似乎会导致我的表在循环运行时有部分旧数据和部分新数据。这是我需要避免的。

我如何执行删除和后续插入,以便它们在读取表的应用程序中看起来是同时发生的,从而避免上述不希望出现的问题?

最佳答案

快速切换的一种方法是将数据插入临时表,启动事务并执行 INSERTMERGE从该表到主表。

这样,时间敏感的操作由RDBMS引擎自己完成,非时间敏感的数据插入临时表不会影响切换时间。

关于c# - 进行看似同时发生的大量表更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35205069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com