sql >> データベース >  >> RDS >> Mysql

MySQLを使用したマテリアライズドビュー(サマリーテーブル)の推奨される方法

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

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

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

    ログにアクセスできない場合(リモートでログを読み取ることができるため、サーバーアクセスは必要ありませんが、SUPER特権が必要です)、Flexviewsで「COMPLETE」リフレッシュを使用できます。これにより、新しいテーブル名で「CREATE TABLE...ASSELECT」を使用して新しいテーブルを自動的に作成できます。次に、RENAME TABLEを使用して新しいテーブルを1つと交換し、古いテーブルの名前を_old接尾辞で変更します。最後に、古いテーブルを削除します。ここでの利点は、ビューを作成するSQLがデータベース(flexviews.mview)に保存され、スワッピングプロセスを自動化する単純なAPI呼び出しで更新できることです。



    1. SELECT / GROUP BY-時間のセグメント(10秒、30秒など)

    2. SQLiteのPRAGMAtable_list

    3. MySQL /Railsfindメソッドのあいまいな列

    4. PostgresでのLIKEと〜の違い