从单个表同时插入和查看数据

时间:2011-03-10 06:26:12

标签: sql sql-server sql-server-2005 insert-select

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

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

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

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

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

那我该怎么办?请帮忙。

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

你也可以尝试snapshot isolation但是如果你没有问题,为什么不保持简单并只使用一个表

相关问题