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

読み取り専用のMyISAMテーブルの高速化

    履歴テーブルを解凍して再圧縮する代わりに:履歴の単一のテーブルにアクセスする場合は、マージテーブルを使用して、圧縮された読み取り専用の履歴テーブルを組み合わせることができます。

    したがって、アクティブなテーブルと同じテーブル構造の圧縮された履歴テーブルがあると仮定すると、次のスキームを使用できます。

    テーブル:

    compressed_month_1
    compressed_month_2
    active_month
    

    マージテーブルを作成します:

    create table history_merge like active_month;
    alter table history_merge 
        ENGINE=MRG_MyISAM 
        union (compressed_month_1,compressed_month_2);
    

    1か月後、 active_monthを圧縮します テーブルの名前をcompressed_month_3に変更します 。現在、テーブルは次のとおりです。

    compressed_month_1
    compressed_month_2
    compressed_month_3
    active_month
    

    履歴テーブルを更新できます

    alter table history_merge 
        union (compressed_month_1, compressed_month_2, compressed_month_3);
    


    1. Oracle Locks&Table Locks:仕組み

    2. MySQLサンプルデータベース

    3. SQL検索クエリをより強力にする方法は?

    4. データベーススキーマオブジェクトチェックの自動化