我希望当用户将数据插入表格时,他也会同时查看它。
对于这个,如果我使用单个表,那么是否需要更多时间&处理负载因为2个进程:INSERT和SELECT,两者都会出现在同一个表上?
所以我希望这两个进程在两个不同的数据库对象上单独执行。
类似INSERT应该在一个数据库对象上完成,SELECT应该从另一个数据库对象完成,但是插入的数据将由Select查询看到。
这是什么解决方案?我应该使用临时表,视图还是两个单独的表,但如果我使用两个单独的表,则会复制数据。
那我该怎么办?请帮忙。
我的Winform应用程序将在LAN上运行3台PC,而在一台PC上运行SQL Server。
在这种情况下,每分钟所有3个用户都会插入数据。因此,如果数据由pc2上的其他用户更新,我会立即向用户在pc1上显示数据
答案 0 :(得分:2)
你真的尝试过在同一张桌子上阅读和写作吗? RDBMS是为并发而设计的。我们每分钟写入数百万行,并在同一分钟内对相同数据进行数十次复杂聚合。我们没有发现任何问题。
数据必须从tablewrite到tableread:这意味着在某个时刻读写tablewrite。现在,您可以在触发器(或某些此类方法)中维护它,这意味着每次写入都需要额外的处理。
注意:您可以使用OUTPUT clause读取刚刚插入的数据。
你也可以尝试snapshot isolation但是如果你没有问题,为什么不保持简单并只使用一个表