0

要件
C# を使用する .NET Windows アプリケーションは、データの取得と保存のために Oracle DB と対話します

問題
大量のデータを使用すると、パフォーマンスが低下し、メモリ使用量が高くなり、アプリケーションはデータ全体を画面に表示します。データベース呼び出しとクライアント側のデータ処理が原因で、応答時間が長い

提案された解決策
ページネーション (Oracle DB から) を使用して部分的なデータを画面に表示すると、アプリケーションの応答時間が速くなります。ただし、ページごとに DB 呼び出しを行います。DB から最初のページ データを取得してアプリケーションを開始するソリューションを検討しています。その後、残りのデータを DB からローカル XML DB に取得するバックグラウンド ジョブが実行されます。したがって、次のページの場合、データは DB 呼び出しを行う代わりに XML からロードされます。

このデザインは可能ですか?
ローカル XML DB と Oracle DB の間で同期は可能ですか?

4

1 に答える 1

0

個人的には、同期化と全体的なディスク IO がせいぜい非常に「興味深い」可能性があるため、本当にそこまで行きたいかどうかはわかりません。

通常、より多くの結果セットのために「事前にフェッチされた」レコードが本当に必要な場合、私が過去に良いと思ったのは、次の2ページと前の2ページをメモリにキャッシュできることです。そのようにして、ユーザーの遷移はスムーズで、ページをナビゲートした後、バックエンド スレッドが出て、次のページをプリフェッチするので、それを取得できます。

それ以外の場合、話していることを実行すると、パフォーマンスへの影響が延期され、データ同期やその他の問題が発生するだけです。

于 2010-09-27T14:09:53.183 に答える