わかりましたので、これを説明するのはかなり難しいですが、最善を尽くします。
一部の顧客ハードウェアに関連する情報を含むテーブルがあります。このハードウェアの一部はスケジュールされた監視の対象となり、一部は 24 時間ごと、一部はさらに短い間隔 (5 ~ 15 分) で監視されます。
この監視は、いくつかのスケジュールされたスクリプトを使用して実行され、デバイス上のデータを収集する別のテーブルからの合計が必要になります。
私が理解しようとしているのは、スクリプトでテーブル全体をスキャンする方がよいでしょうか?
if 24hr enabled
execute 24hr script
if instant enabled
execute instant script
または、ハードウェアを 2 つのテーブルに分割するスクリプトを実行したほうがよいでしょうか。
- 24 時間対応デバイス
- インスタント対応デバイス
これは、スケジュールされたジョブが実行する作業が少なくなり、基本的にテーブル内のすべてのデバイスでチェックを実行して終了することを意味します。
これは、特定のテーブルに重複データがあるため、正規化ルールに違反しますが、テーブルはソース テーブルからのみ入力されるため、これは問題にならない可能性があると考えていました。
明らかに、私はかなり確信が持てず、これほど複雑なシステムに対処しなければならなかったのはこれが初めてです。
例として、私のテーブルは現在次のようになっています (名前付けと設定データが追加されています)
- デバイスID
- alarm_high_value
- alarm_low_value
- enable_alarm_day
- enable_instant_alarms
十分な情報を提供できたかどうかわかりませんので、他に質問がある場合はお問い合わせください。どうもありがとう