0

現在非常に低速で実行されているmysqlデータベースがあります。サーバーには多数のデータベースがあり、他のすべてのデータベースは正常に実行されていますが、この1つのデータベースは非常に低速であり、非常に単純な更新(小さなテーブルの1行の更新)またはクエリの選択に2〜10秒かかることがよくあります。 (小さなテーブルから1行を選択します)。

私の質問は、この1つのデータベースの実行速度が非常に遅い理由を誰かが考えられるかどうかを尋ねることです。トラフィックは最小限です(これは開発サイトのデータベースです)。phpMyAdminも非常に遅く、このデータベースではタイムアウトになることが多いため、スクリプトを除外しました。また、実行中のプロセスをチェックして、問題がないことを確認しました。進行中のプロセスはありませんが、データベースの実行速度は非常に遅くなります。

ですから、ここで何が起こっているのか、誰かが光を当てることができますか?必要に応じて、追加情報を提供できることをうれしく思います。

編集:

コメントに加えて、実行速度の遅いクエリの例を次に示します。

UPDATE `Users` SET `last active` = 1334763602 WHERE `ID` = 1

この単純な更新クエリは、完了するまでに2〜10秒かかります。IDは主キーであり、このテーブルには約30のレコードがあります。

私の最初の問題に加えて、SELECTはそれほど悪くないように見えますが、SELECTの期間が遅いのを見てきましたが、現在、多くのSELECTステートメントが高速で実行されていますが、UPDATEはまだ低速です。

編集2:

さらに調査したところ、InnoDBテーブルタイプに関連付けられている可能性があります。テーブルをMyISAMに変更しましたが、InnoDBで1.5秒かかっていたクエリは、MyISAMでは0.0006秒しかかかりませんでした。私の質問は、InnoDBテーブルに最適に調整するにはどうすればよいかということになると思います。

4

1 に答える 1

0

問題はデータベースのセットアップと InnoDB テーブルに関係していたようです。データベースが MyISAM を使用していた場合は問題なく動作したため、これを調査したところ、デフォルトのバッファ プール サイズが小さすぎてメモリの問題が発生していることが判明しました。デフォルトのバッファー プール サイズの値を大きくすると、データベースのパフォーマンスが大幅に向上します (おそらく、それ以上ではないにしても、1000 倍の領域で高速化されます)。

于 2012-04-19T17:52:41.537 に答える