質問

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

ありがとう


修正: 「マテリアライズド ビュー」から「エミュレートされたマテリアライズド ビュー」へ。

役に立ちましたか?

解決

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

テーブルが使用していたエンジンがわかりませんでしたが メモリー おそらくより良い選択でしょう。

他のヒント

具体化されたビューは、いくつかの重いクエリからのデータを備えた通常のテーブルの派手な名前です。

したがって、それを作成することは重いクエリ自体と同じくらい重いですが、クエリのクエリは非常に高速です。

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

  • 定期的なフルリフレッシュを行うことができます。簡単ですが、その更新中と更新の間に、データは時代遅れです。
  • トリガーを使用して、挿入/削除/更新時にデータを自動的に更新できます。これにより、他のテーブルの挿入/削除/更新がわずかに重くなりますが、時代遅れではありません。

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

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top