0

MySQL で実行されている新しい Joomla 3.0 インストールがあり、Workbench を使用しています。非常に遅いクエリを実行し続けます。ただし、特定のクエリは非常に少ないようです。何かのようなもの

SELECT * FROM joom_users

非常に遅く動作し、接続が失われることがよくあります。しかし、UPDATE と INSERT はこのテーブルに対して問題なく機能します。CSV ファイルをインポートしたこともあり、非常に高速でした。もう走った

EXPLAIN SELECT * FROM joom_users

テーブルに明らかな異常はありませんでした。すべてのインデックスがそこにあり、テーブル自体は非常に小さいです (約 300 行のみ)。ワイルドカードが原因である可能性があると考えたので、ワイルドカードをフィールドに置き換え、2 つのフィールド (場合によっては行なし) を持つ他のテーブルからクエリを実行しようとしましたが、ALSO の実行が遅くなりました。

また、テーブルを ALTER するリクエストも低速です。最後に、Workbench を使用して複数のマシン (1 つは Win7、もう 1 つは OSX) も試しましたが、どちらも動作が遅くなったため、これを引き起こしている可能性のあるローカルの問題をすべて排除しました。

私はこれに困惑しています。ヘルプ!

4

1 に答える 1

0

あなたが与えたクエリの例には、暗黙のうちに間違っているものは何もありません。使用できるインデックスはありませんが、非常に広いテーブルでない限り、非常に高速であると予想されます。

共有サーバー環境では、ホストされている他のデータベースの数や、それらがどれだけ頻繁に使用されているかわかりません。ローカル データベースに移行できる場合は、パフォーマンスが向上するかどうかを確認できます。

インストールに 300 人のアクティブ ユーザーがいる場合、特にフル テーブル ロックを使用する MyISAM では、多くのロック競合が発生する可能性があります。たとえば、Joomla の users テーブルには が含まれているように見えます。これは、ログインしているユーザーがページをロードするたびlastVisitDateに更新されている場合、確実にロックの問題を引き起こす可能性があります。

于 2013-08-15T12:02:24.783 に答える