計算すると。
単純に1レコード化する場合
500ケ×31日×100件×256個=396.8百件/月(約4億件)
1件に複数検査項目を入れて1レコード化する場合
500ケ×31日×100件=1.55百件/月(約2百万件)
月に4億件の方ですと言われてます様に多いと思います。
パーティションで分割と言われていますので、こちらが第一候補でしょうか。
月に2百万件であれば普通に見かける件数と思いますので、さほど悩まないかと思います。
ただ、その後のアプリケーションで利用する時に難しくなるケールがあります。
意見ですが、データ用テーブルは月4億件側の1本が良いかと思います。使い勝手が良いです。
構成にて極力項目数/項目長を少なくして対応します。
年月/日/時刻/箇所NO/センサーNO/件NO/測定内容NO/測定値
といった感じでしょうか。項目もINTなど短い項目型を採用。
その他名称等は、日常的に増加がないマスタテーブル側に持たせます。
こちらをメインデータとして運用。
データベースのデータはWEBシステムでグラフや帳票にする
こちらが目的の様ですので、
グラフ用テーブル
とか帳票用テーブルを別途作成。
箇所NO/箇所名称/センサーNO/センサ名称/年月日/回数/検査名1/検査値1/検査名2/検査値2・・・・
こんな感じでしょうか。
1日1回夜中にでもこのテーブルへバッチ更新を行い、WEBシステム側ではこのテーブルを見る事で速度向上を図ります。
速度上げるため古いデータは削除で良いと思います。
バッチは場合によって1時間に一回とか、年月日+箇所NOで部分的にデータを更新させるプログラムがあっても良いと思います。
検査測定データですので、それほどリアルタイムの必要性は低いと予想しますので、バッチで良いかと思われます。
パーティション機能は使った事が無いので速度的に効果あるんでしょうか?
インデックスを適切に張っても行く様な気がします。
パーティションの場合には、先頭に当月区分(例:値1)とか項目設けて、これを選択したパーティションを見れば当月データが見れるイメージでしょうか。