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

mysqlインデックスが完全にメモリに収まるかどうかを判断する方法

    ストレージエンジンに依存します

    MyISAM(.MYIファイルからインデックスページをキャッシュする)

    SELECT FLOOR(SUM(index_length)/POWER(1024,2)) IndexSizesMB
    FROM information_schema.tables WHERE engine='MyISAM' AND
    table_schema NOT IN ('information_schema','performance_schema','mysql');
    

    key_buffer_sizeからそれを引きます 。答えが0より大きい場合、はい

    InnoDB(データとインデックスページをキャッシュする)

    SELECT FLOOR(SUM(data_length+index_length)/POWER(1024,2)) InnoDBSizeMB
    FROM information_schema.tables WHERE engine='InnoDB';
    

    innodb_buffer_pool_sizeからそれを引きます 。答えが0より大きい場合、はい

    これについては、 DBA StackExchangeに書き込みました。

    専用のDBサーバーでは、InnoDBSizeMB+IndexSizesMBを確認してください。 RAMの75%を超えない。



    1. Oracleクライアント11で.NETアプリケーションをデプロイするために必要な最小限のセットアップは何ですか?

    2. 識別関係または非識別関係を決定する際の問題

    3. 異なるデータ型で外部キーを設定する

    4. MySQLストアドプロシージャはそれらを使用するか使用しないか