MySQLでマテリアライズドビュー1

Oracleではマテリアライズドビューというビューを実体化させる機能があります。MySQLのビューにはマテリアライズドビューはありませんが、サマリーテーブルと(トリガー、イベントスケジューラー等)を組み合わせることによって同様な機能を実現可能です。この考え方そのものが、KVSにおける集計の基本となります。つまり、記憶領域と速度のトレードオフということになります。RDBMSにおけるGROUP BYの集計は、クエリー実行毎に集計、すなわち、クエリー実行時に集計の負荷がかかることになります。その代わり記憶領域はオリジナルの記憶領域しか消耗しません。対して、マテリアライズドビューでは、リアルタイムに集計表に書き込みを行っているため、集計結果取得のクエリー発行時には特に負荷は掛かりません。その代わり、予め集計表の為の記憶領域が必要になります。以上説明が長くなりそうなので、エントリーを何回かに分けます。