0

我希望当用户将数据插入表时,他也在同时查看它。

为此,如果我使用单个表,那么是否需要更多时间和处理负载,因为 2 个进程:INSERT 和 SELECT,两者都会发生在同一个表上?

所以我希望这两个进程分别在两个不同的数据库对象上执行。

就像 INSERT 应该在一个数据库对象上完成,而 SELECT 应该从另一个数据库对象上完成,但是插入的数据将被 Select 查询看到。

解决方案是什么?我应该使用临时表、视图还是两个单独的表,但是如果我使用两个单独的表,那么就会有数据复制。

那我该怎么办?请帮忙。

我的 Winform 应用程序将在 LAN 上的 3 台 PC 上运行,而 SQL Server 仅在一台 PC 上运行。

在这种情况下,每分钟所有 3 个用户都会插入 data 。因此,如果 pc2 上的另一个用户更新了数据,我会立即在 pc1 上向用户显示数据

4

1 回答 1

2

你真的试过在同一张桌子上读和写吗?RDBMS 是为并发而设计的。我们每分钟写入数百万行,并在同一分钟内对相同数据进行数十个复杂聚合。我们没有注意到任何问题。

数据必须从 tablewrite 到 tableread:这意味着在某些时候对 tablewrite 进行读取。现在,您可以在触发器(或某些此类方式)中维护它,这意味着每次写入都需要额外处理。

注意:您可以使用OUTPUT 子句读取刚刚插入的数据。

您也可以尝试快照隔离,但鉴于您没有问题,为什么不保持简单,只使用一张表

于 2011-03-10T06:42:17.033 回答