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

Mysql Slow Insert

    Bツリーページがいっぱいになると、分割する必要があり、時間がかかります。挿入するたびにすべてのインデックスが更新されるため、挿入のパフォーマンスは、インデックスが多いほど遅くなります。 9000 (timestamp、staff)インデックスが(timestamp)インデックスをカバーするケースの95%はすでに正しく述べられていますが、パフォーマンスを向上させるために単一列(timestamp)インデックスが必要になるケースは非常にまれです。

    定期的なバックグラウンドタスクもいくつかあり、1日のうちに1つか2つの挿入が遅くなることがあります。

    さらに、遅延のもう1つの理由は、単にデータベースアクティビティです。挿入が更新(またはページ分割)する必要があるページをロックしているトランザクションがある場合、挿入は書き込みロックが取得されるまで待機する必要があります。これらの他のアクティビティは、実際にトランザクションを開始する必要はなく、読み取りと読み取りの競合である必要もありません。書き込みと書き込みの競合や、大量のアクティビティから作成されたキューを作成することもできます。

    そして最後の考えられる理由-データベースサーバーのリソースが不足しています。メモリ、CPU、ネットワークI/Oなどです。サーバーが実行できることは非常に限られているため、十分なリソースが揃うまで待つ必要があります。



    1. JDBCを使用するときにSQLステートメントのロギングを有効にする方法

    2. MySQLの列のデータ型を変更するにはどうすればよいですか?

    3. MySqlのSQLクエリで行をコンマ区切りのリストに折りたたむ方法

    4. 修正:MySQL –SELECTコマンドがユーザーに拒否されました