web-dev-qa-db-ja.com

共有ホストから、MySQLが原因でWebサイトを調整していることがわかりますが、どうすればよいですか?

共有ホストから、MySQLが原因でWebサイトを調整していることがわかりますが、どうすればよいですか?

私は、MySQLのパフォーマンスチューニングについて十分な知識がありません。一般的に、MySQLは私に適しています。これを修正する方法を理解するために、どのような質問をする必要がありますか?この記憶ですか?このプロセッサーですか?これはMySQLの構成ですか?スロークエリログにアクセスできると仮定すると、それを理解するには何が必要ですか?

私はこれをジェネリックとして求めていますが、これに何度も遭遇しましたが、一般的には標準以下のホストです。より良いホストに変更し、キャッシュを実装すると、通常はうまくいきます。しかし、優先順位の順に考慮すべき最も重要な設定は何ですか?

PDATE:これを「共有ホスティングアカウントでMySQLが正常に設定されているかどうかを確認するにはどうすればよいですか?」のチェックリストになることを望んでいます。タイプの問題。

7
artlung

おそらく最大の確認事項は、クエリを実行しているフィールドにキーがあるかどうかです。適切なキーとフィールドがあると、クエリがかなり高速になります。 EXPLAIN SELECT * FROM table WHERE id = 2;など、EXPLAINの前にクエリを実行すると、キーが使用されているかどうかを確認できます。スロークエリログのクエリにEXPLAINを追加して、使用している、または使用していない。

テーブルから同じデータを頻繁に選択する場合は、データのキャッシュを検討することもできます。これは、結果のページ(実際のHTMLまたはその一部など)を保存するか、クエリの結果(IDなどのテキストフィールドでクエリする必要がないため)を保存することで実行できます。

また、LIKE %text%を使用してテキストフィールドを頻繁にクエリしないようにする必要があります。これらは非常に遅くなる可能性があります。

また、WebでMySQLクエリ最適化(またはその組み合わせ)を検索します。さまざまな方法があり、すべての方法がサイトで機能するわけではないため、ほとんどの試行錯誤ですが、キーによってMySQLの速度が確実に向上し、負荷が軽減されます。

8
Darryl Hein