私は非常に単純なクエリを持っています
select * from ap_statistic
私のサーバーで実行されています。サーバーは同じハードウェアおよびソフトウェア構成 (CPU 8 コア、mem :32G、OS: redhat 5.5、mysql バージョン: 5.1 ) を持ち、同じアプリケーションを実行します。
サーバー A では、テーブルの行番号ap_statistic
は約 22,512,379 であり、サーバー B では、テーブルの行番号は 41,438,751 です。もちろん、サーバー A で実行されているクエリはサーバー B よりも高速ですが、奇妙なことに、サーバー B でのクエリは非常に遅く、サーバー A では 10 分しかかからないのに 1 時間以上かかります。
システム ステータスを監視するツールを使用すると、クエリがサーバー A で実行されている場合、システム IO の読み取り速度は約 20 ~ 30M/秒ですが、サーバー B では 2 ~ 3M/秒であることがわかります。Linuxキャッシュを消去してmysqlサーバーを再起動しようとしましたが、すべて同じ結果です。そして、サーバー B からサーバー A に DB を復元しようとしたため、サーバー A のクエリは非常に遅く、io の読み取り速度は非常に遅いです。なぜこれが起こるのか知りたいですか?