1

MySQL でエミュレートされたマテリアライズド ビューのパフォーマンスは良好ですか? このリンクの使い方を学んでいます

ありがとう


訂正:「マテリアライズド ビュー」を「エミュレートされたマテリアライズド ビュー」に。

4

3 に答える 3

2

マテリアライズド ビューは、負荷の高いクエリからのデータを含む通常のテーブルの派手な名前です。

そのため、作成は重いクエリ自体と同じくらい重いですが、クエリは非常に高速です。

ここでの大きな問題は、ビューをどのように更新するかです。

  • 定期的なフル リフレッシュを実行できます。実行するのは簡単ですが、その更新中および更新の間に重いデータが古くなっています。
  • トリガーを使用して、挿入/削除/更新時にデータを自動的に更新できます。これにより、他のテーブルの挿入/削除/更新が少し重くなりますが、時代遅れにはなりません。
于 2010-10-21T21:07:49.603 に答える
2

MySQL には実体化されたビューがありません。リンクはテーブルを作成し、データをそこに詰め込むだけなので、テーブルにインデックスを付けることができます。つまり、パフォーマンスは通常のテーブルと同等ですが、テーブル (インデックスを含む) のフラッシュと再作成のオーバーヘッドもあります。

テーブルが使用しているエンジンはわかりませんでしたが、MEMORYの方が適している可能性があります。

于 2010-10-21T21:09:07.603 に答える
0

Flexviews (http://flexvie.ws) は、オープン ソースの PHP/MySQL ベースのプロジェクトです。Flexviews は、PHP とストアド プロシージャを使用して、増分的に更新可能なマテリアライズド ビュー (Oracle のマテリアライズド ビューと同様) を MySQL に追加します。

これには、バイナリ ログを読み取る PHP ベースの変更データ キャプチャ ユーティリティである FlexCDC と、ビューの定義と維持に使用される Flexviews MySQL ストアド プロシージャが含まれています。

Flexviews は結合 (内部結合のみ) と集計をサポートしているため、集計テーブルの作成に使用できます。さらに、Flexviews を Mondrian (ROLAP サーバー) の集計デザイナーと組み合わせて使用​​して、ROLAP ツールが自動的に使用できる集計テーブルを作成できます。

于 2011-03-27T18:56:15.570 に答える