- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのSQLスロークエリでサーバアカウント停止。遅延クエリって何ですか?)
PHPのSQLスロークエリでサーバアカウント停止。遅延クエリって何ですか?
このQ&Aのポイント
- PHPのSQLスロークエリでサーバアカウント停止し、遅延クエリについて知りたい。
- WordPressのプラグイン追加後にアカウント停止し、遅延クエリについての本がない。
- 遅延クエリの要因として無限ループ以外にどのようなケースがあるか知りたい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「Slow MySQL queries」は遅延クエリではなく「レスポンスを低下させるクエリ」の意味では? 警告文は「他の何千ものユーザとあなたの長いMySQLがサーバリソースを 共有しているから」ということなので、巨大なSQLか高負荷を誘うSQLで MySQLのレスポンスが悪化しているのではないでしょうか。 例えば、それぞれ1万件のデータを持つ2つのテーブルがあったとして、 SELECT TABLE1.COLM1 FROM TABLE1, TABLE2 ; のようなクエリを実行すると、結果はTABLE1の1万件ではなく、 TABLE1×TABLE2の 1億件になります。 こういう場合はPHPよりもクエリを実行するMySQL側が高負荷に陥ります。 上記のような単純なクエリなら1億件程度でもさほど負荷はかからないと 思いますが、テーブル結合が複雑だとそうもいきません。 どこかにそんなクエリを作り出しているところがあるのでは?
お礼
0x131cc6eさん、 さっそくのアドバイスを頂き感謝しております。 >こういう場合はPHPよりもクエリを実行するMySQL側が高負荷に陥ります なるほど、 ソースの書き方が悪いのかとばかり思い込んでました。 処理件数の予想と、借りるサーバのスペックを見比べなきゃいけない ということですね? そう言われてみれば、問題のプラグインは沢山のRSSから記事を自動編集する機能でしたので、SQLクエリの処理件数は膨大だった心当たりが確かにありました。 次に借りるサーバは、大処理に耐える会社でないとまずそうですが、レンタルサーバー各社の公表スペックでSQLの利用可能データベース数などはよく見るものの、処理能力の目安になる指標が私はよくわからないレベルです。 (単にまだ専門用語がわかってないだけとも言えるんですが) 便乗で大変恐縮ですが、レンサバのSQL処理パワーを見るポイントとか、教えていただけますと幸いです。