データが変更された場合にのみテーブルにデータを追加する効率的な方法を見つけようとする助けが必要です。
私はLatestResultsである最初のテーブルを持っており、最新の結果のみを保存しています(チーム番号ごとに1)
TeamNumber(Primary) TeamScore TeamWorkUnits RecordDateTime
1 - 500 - 600 - 2012-09-22 08:20:00
2 - 400 - 6 - 2012-09-22 08:20:00
3 - 90 - 15 - 2012-09-22 08:20:00
4 - 1 - 0 - 2012-09-22 08:20:00
HistoricResultsと呼ばれるもう 1 つのテーブルには、将来の統計のために必要になった場合に備えて、非常に結果のコピーが格納されます。
HisotryKey(Auto-Primary) TeamNumber TeamScore TeamWorkUnits RecordDateTime
1 - 1 500 - 600 - 2012-09-22 08:20:00
2 - 2 -400 - 6 - 2012-09-22 08:20:00
3 - 3- 90 - 15 - 2012-09-22 08:20:00
4 - 4 - 1 - 0 - 2012-09-22 08:20:00
5 - 1 490 - 600 - 2012-09-21 08:20:00
6 - 2 -300 - 6 - 2012-09-21 08:20:00
7 - 3- 40 - 15 - 2012-09-21 08:20:00
8 - 4 - 0 - 0 - 2012-09-21 08:20:00
したがって、データ TeamScore または TeamWorkUnits が RecordDateTime までの最後のレコード以降に変更された場合にのみ、最初のテーブルを 2 番目のテーブルにマージしたいと考えています。
つまり、TeamScore と TeamWorkUnits が同じ場合、履歴テーブルに最も古いエントリが保持されます。
可能であれば、速度のためにこれを完全に MySQL 内で行うことをお勧めします。
現在、1 時間あたり約 100,000 レコードをチェックする必要があります
よろしくお願いします。