0

ユーザーがデータをテーブルに挿入しているときに、同時にそれを表示することも望んでいます。

このために、単一のテーブルを使用する場合、INSERT と SELECT の 2 つのプロセスが同じテーブルで発生するため、より多くの時間と処理負荷がかかりますか?

したがって、両方のプロセスを 2 つの異なるデータベース オブジェクトで別々に実行する必要があります。

同様に、1 つのデータベース オブジェクトに対して INSERT を実行し、別のデータベース オブジェクトに対して SELECT を実行する必要がありますが、挿入されたデータは Select クエリによって表示されます。

これに対する解決策は何ですか?一時テーブル、ビュー、または 2 つの個別のテーブルを使用する必要がありますが、2 つの個別のテーブルを使用すると、データのレプリケーションが発生します。

それで、私は何をしましょうか?助けてください。

私の Winform アプリケーションは、LAN 上の 3 台の PC で実行され、SQL Server は 1 台の PC でのみ実行されます。

この場合、毎分 3 人のユーザー全員が data を挿入します。したがって、データが pc2 の別のユーザーによって更新された場合、pc1 のユーザーにすぐにデータを表示します。

4

1 に答える 1

2

実際に同じテーブルで読み取りと書き込みだけを試しましたか? RDBMS は並行性を考慮して設計されています。毎分数百万行が書き込まれ、同じデータに対して同じ分に数十の複雑な集計が行われます。問題はありません。

データは tablewrite から tableread に取得する必要があります。これは、ある時点で tablewrite を読み取ることを意味します。これで、トリガー (またはそのような手段) でこれを維持できます。これは、書き込みごとに追加の処理を行うことを意味します。

注: OUTPUT 句を使用して、挿入されたばかりのデータを読み取ることができます。

スナップショット分離を試すこともできますが、問題がない場合は、シンプルに保ち、1 つのテーブルだけを使用してください。

于 2011-03-10T06:42:17.033 に答える