2

一部の産業用デバイスから値を読み取り、値を Microsoft SQL Server 2008 R2 データベースに記録するデータ取得システムがあります。データの記録間隔は約 20 秒です。各レコード データには、約 600 バイトのデータが含まれます。

今度は新しいハードウェアからデータを挿入する必要がありますが、今回は記録間隔を 1 秒にする必要があります。つまり、毎秒 600 バイトのレコードを 1 つ SQL サーバー データベースに挿入します。

2 つの質問があります。

  1. 毎秒データを挿入しているときに発生する可能性のある問題はありますか? Microsoft SQL サーバーはこの頻度で挿入しても問題ないと思いますが、長期間の場合はわかりません。

  2. プログラムは長時間実行されるアプリケーションです。ほぼ毎週、データ テーブルをクリアします。毎秒データを記録すると、毎時間 3600 行、毎日 86400 行、週末には約 600K 行がテーブルに表示されます。これは、適切なレベルのデータ読み取りには問題ありませんか? または、テーブルにそのような量の行がないようにするには、アプローチを変更する必要がありますか?

ちなみに、私はすべてのデータベース操作に LinqToSQL を使用し、プログラミングには C# を使用しています。

4

4 に答える 4

1

毎秒データを挿入しているときに発生する可能性のある問題はありますか? Microsoft SQL サーバーはこの頻度で挿入しても問題ないと思いますが、長期間の場合はわかりません。

データベースが適切に設計されていれば、問題は発生しません。GIS データを問題なく高速に保存できます。

これは、適切なレベルのデータ読み取りには問題ありませんか? または、テーブルにそのような量の行がないようにするには、アプローチを変更する必要がありますか?

どのようにアプローチを変更できるかよりも、すべてのデータが必要かどうかによって異なります。必要ないなら、なぜ保存するのですか?

于 2013-08-14T12:29:29.083 に答える
0

大丈夫だと思いますが、.NET プラットフォームを使用しているようなので、StreamInsight をチェックしてください: http://technet.microsoft.com/en-us/library/ee391416.aspx

于 2013-08-14T12:46:43.817 に答える
0

まず、データを挿入するテーブルの既存のインデックスについて考える必要があります。これは、インデックスが挿入プロセスを遅くするためです。第 2 に、復旧モデルが完全である場合、すべての挿入プロセスがトランザクション ログに書き込まれ、ログ ファイルが急速に増加します。

復旧モデルを SIMPLE に変更し、インデックスを無効にすることを検討してください。

もちろん、そのテーブルから行を選択するのは遅くなりますが、あなたの要求が何であるかはわかりません.

于 2013-08-14T12:31:20.233 に答える