こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

mysql_queryの処理速度が遅い

PHP+MySQLでプログラミングをしているのですが、実行時にmysql_queryの処理に時間がかかっています。状況は以下の通りです。
・処理時間を計測するとmysql_queryの実行に15秒程度かかっています。
・Webminで直接同じSQL文を実行すると1秒程度で終わります。
・SQLのコマンドは単純なUPDATEです。
・indexは設定してあります。
・DBに格納してあるレコード数は数100件程度です。
・optimizeは実行してみましたが、あまり効果はありませんでした。

お聞きしたいのはWebminで実行すると1秒程度で終わるSQL文がmysql_queryで実行すると、なぜ時間がかかるのかということです。
mysql_queryで時間がかかる原因およびmysql_queryの処理時間を短縮する方法などがあれば教えてください。
よろしくお願いします。

投稿日時 - 2010-04-14 09:56:55

QNo.5824985

困ってます

質問者が選んだベストアンサー

通るすがるです。
上記状況プラス、、DBとWebサーバーは同じサーバという状況から考えられることは

ディスクスワップが発生している(メモリ不足)可能性しか考えられないですね

データ件数が100件程度とありますが、レコード長および項目数はどれぐらいなのでしょうか?

また、php.iniの設定(特にメモリ制限について)はどのように検討されたのでしょうか?
もし、未検討でしたら、http://www.php.net/manual/ja/ini.core.phpのリソース制限の
memory_limit設定当たりから、検討してみては如何でしょうか?

投稿日時 - 2010-04-16 14:07:36

お礼

回答ありがとうございました。
お礼が遅くなってすみません。教えていただいたように
memory_limitなどの設定をいろいろと変更して
多少改善してきました。
大変参考になりました。感謝致します。

投稿日時 - 2010-04-21 09:13:25

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

はじめまして、通るすがるともうします。
上記現象なのですが、sqlのせいでないかもしれません。

htmlの生成に時間(つまりdbサーバー->web->ie)の間で時間が
かかっている可能性はないですか?

htmlの生成などは結構cpuを浪費しますよ

あとはdb-webサーバー間の回線速度とか

投稿日時 - 2010-04-14 15:24:55

補足

PHPの各処理の処理時間を出力すると、mysql_queryで時間がかかっていましたので、今回の場合htmlの生成で時間がかかっているわけではないと思います。また、DBとWebサーバーは同じサーバなので、そのやりとりに時間がかかることもあまり考えられません。
WebminでSQL文を実行すると短時間で終わるのに、mysql_queryで実行するとmysql_queryを呼び出してから戻るまでに時間がかかる原因を知りたいということです。

投稿日時 - 2010-04-15 09:18:15

お礼

回答ありがとうございました。

投稿日時 - 2010-04-15 09:17:50

ANo.1

おなじphp環境であるphpMyAdminでテストしてみては?

投稿日時 - 2010-04-14 10:13:00

お礼

アドバイスをいただき、ありがとうございます。

投稿日時 - 2010-04-14 10:44:54

あなたにオススメの質問