テーブルあたり約150万行のデータを毎日挿入する必要があるアプリケーションを構築しています。私たちは16のテーブルを持っています。 当日のデータを含む3日間の履歴データを追跡します。挿入時のデータのクエリ:キャッシュを使用できますか?
アプリケーションはC#を使用して実行されます。サーバー側では、市場時間(4.5時間)にデータテーブルを埋めるexeを実行し、5秒ごとに16個のテーブルを更新します。
クライアント側では、最も最近挿入されたデータ(過去5秒間)と今日または過去の可能性のある履歴ポイントを必要とするユーザークエリを取得し、何らかの方法でプロットします。
重大なパフォーマンス上の問題が発生しています。クエリが1秒以上かかる可能性があります。問題は、実行時に挿入される今日のデータでは、今日のデータから何かを欲するたびにデータベースに行くのではなく、キャッシュを利用できるのかどうかです。それはより効率的でしょうか?もしそうなら、どうすればいいのですか? P.S 1日のデータは約300 MBです。十分なRAMがあります
回答ありがとうございました。クエリ時間は、最適化後0秒です。しかし、私たちは512 VPN接続でクエリを実行しており、UIはフリーズしています。私はあなたが本当にそれを解決するために提案したものを得ていない!もう少し詳しく説明できますか? – mustafabar
@mustafabarはそれに関する更新を追加しました。 – eglasius