MySQL でエミュレートされたマテリアライズド ビューのパフォーマンスは良好ですか? このリンクの使い方を学んでいます
ありがとう
訂正:「マテリアライズド ビュー」を「エミュレートされたマテリアライズド ビュー」に。
MySQL でエミュレートされたマテリアライズド ビューのパフォーマンスは良好ですか? このリンクの使い方を学んでいます
ありがとう
訂正:「マテリアライズド ビュー」を「エミュレートされたマテリアライズド ビュー」に。
マテリアライズド ビューは、負荷の高いクエリからのデータを含む通常のテーブルの派手な名前です。
そのため、作成は重いクエリ自体と同じくらい重いですが、クエリは非常に高速です。
ここでの大きな問題は、ビューをどのように更新するかです。
MySQL には実体化されたビューがありません。リンクはテーブルを作成し、データをそこに詰め込むだけなので、テーブルにインデックスを付けることができます。つまり、パフォーマンスは通常のテーブルと同等ですが、テーブル (インデックスを含む) のフラッシュと再作成のオーバーヘッドもあります。
テーブルが使用しているエンジンはわかりませんでしたが、MEMORYの方が適している可能性があります。
Flexviews (http://flexvie.ws) は、オープン ソースの PHP/MySQL ベースのプロジェクトです。Flexviews は、PHP とストアド プロシージャを使用して、増分的に更新可能なマテリアライズド ビュー (Oracle のマテリアライズド ビューと同様) を MySQL に追加します。
これには、バイナリ ログを読み取る PHP ベースの変更データ キャプチャ ユーティリティである FlexCDC と、ビューの定義と維持に使用される Flexviews MySQL ストアド プロシージャが含まれています。
Flexviews は結合 (内部結合のみ) と集計をサポートしているため、集計テーブルの作成に使用できます。さらに、Flexviews を Mondrian (ROLAP サーバー) の集計デザイナーと組み合わせて使用して、ROLAP ツールが自動的に使用できる集計テーブルを作成できます。