シナリオ:
大きなシステム(〜200テーブル)。
60,000ユーザー。
複雑なレポートでは、レポートごとに複数のクエリを実行する必要があります。それらのレポートでさえ、あらゆる場所に内部クエリがあり、PHPでいくつかの処理が行われる複雑なクエリになります。
アプローチ:
よくわからないアプローチを見てき
ました。報告可能なシステム内のアクティビティを登録する、一元化された非正規化されたテーブルが1つあります。このテーブルは主に外部キーを保持するため、かなりコンパクトで高速である必要があります。
したがって、たとえば(私のシステムは仮想学習管理システムです)、ユーザーがコースに登録すると、テーブルにはユーザーID、日付、コースID、組織ID、アクティビティタイプ(登録)が格納されます。
もちろん、このデータも実際のアプリケーションが使用する正規化されたDBに保存します。
長所:データを処理して高速に取得するための、簡単で保守しやすいクエリとコード。
短所:非正規化されたテーブルが実際のDBと同期しなくなる危険性があります。
このアプローチは検討する価値がありますか、それとも(できれば経験から)合計$#%#%tですか?