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

インデックスがいくつかあるのに、大きなテーブルでのMySQL InnoDBの挿入/更新が非常に遅くなるのはなぜですか?

    どちらかだと思います

    • 時間の経過に伴うインデックスの不均衡
    • ディスクの断片化
    • 内部innodbデータファイルの断片化

    analyze table fooを試すことができます これはロックを必要とせず、数回のインデックスダイブと数秒かかります。

    これで問題が解決しない場合は、

    を使用できます。
    mysql> SET PROFILING=1;
    mysql> INSERT INTO foo ($testdata);
    mysql> show profile for QUERY 1;
    

    そして、ほとんどの時間がどこで費やされているかを確認する必要があります。

    どうやら、挿入がPK順に行われると、innodbのパフォーマンスが向上するようですが、これはあなたの場合ですか?



    1. PostgreSQLの関数名は大文字と小文字を区別しませんか?

    2. SQL ServerがNVarcharフィールドに日本語文字ではなく疑問符文字を格納するのはなぜですか?

    3. PostgreSQL 11:新機能

    4. MySQLは保存されたUTC時間をローカルタイムゾーンに変換できますか?