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

データベース-イベントテーブルの設計

    このアプローチを強くお勧めします。おそらくOLTPとOLAPに同じデータベースを使用しているため、いくつかの星と雪片を追加することで、パフォーマンスを大幅に向上させることができます。

    私は現在65のテーブルにあるソーシャルネットワーキングアプリを持っています。オブジェクト(ブログ/投稿、フォーラム/スレッド、ギャラリー/アルバム/画像など)のビューを追跡するための単一のテーブル、オブジェクトの推奨のための別のテーブル、および他の12のテーブルの挿入/更新アクティビティを要約するための3番目のテーブルを維持しています。

    私が少し違うことの1つは、entity_typeテーブルを維持し、そのIDをobject_type列(この場合は「TABLE」列)で使用することです。 event_typeテーブルでも同じことをしたいと思うでしょう。

    Alixの明確化 -はい、オブジェクトの参照テーブルとイベントの参照テーブルを維持します(これらはディメンションテーブルになります)。ファクトテーブルには次のフィールドがあります:

    id
    object_id
    event_id
    event_time
    ip_address
    


    1. MySQLは、レコードのない日付のカウントを0と表示します

    2. MySQLで一重引用符、特殊文字をエスケープする方法

    3. 過去12か月のMySQL月間販売(販売なしの月を含む)

    4. SQLテーブルから(複数の列の値に基づいて)重複する行を削除する