dポイントプレゼントキャンペーン実施中!

はじまして
PHP&MySQLで照会システムを作っています。

PHPの画面から、大量なデータによる複雑なSQLが発行されたときに、クエリー結果がなかなか帰ってこないので
ブラウザの×ボタンで強制終了してしまうと、再度、ブラウザを起動してMySQLに接続しようとすると処理がものすごく遅くなっています。
これを解消するにはどうすればよいのでしょうか?
また、アドバイスがありましたら教えてください。

MySQLを再起動すると元の早さでDB接続・検索できますが、システム上、MySQLの再起動はしたくありません。
宜しくお願い致します。

MySQLのバージョンは 4.1.2.1
PHPは 5.1.4

A 回答 (2件)

>大量データをクエリー中にユーザにブラウザの×ボタンで強制終了


>されてしまった時に起こるこのような問題は、どうすれば解消できる
>のでしょうか?

強制終了されなくても重いものは重いのでは?
本質的には極端に重いようなSQLは最適化をはかって
すこしでも軽く動くように調整することです。

それと強制終了されているかどうか判断がつくのでしょうか?
つかないなら逆に勝手にきるわけにもいかないので、待つしかないかと。
まぁHTTPの場合は先にタイムアウトしてしまうと思いますが。
    • good
    • 0
この回答へのお礼

そうですね。やはりSQLの最適化を図るしかありませんね。
ありがとうございました。

お礼日時:2006/10/25 17:52

SHOW PROCESSLIST


で得たIdを元に
KILL thread_id
してください

参考URL:http://dev.mysql.com/doc/refman/4.1/ja/kill.html

この回答への補足

yambejpさん、早速の回答ありがとうございます。
KILLで対処できました。

ただ、できれば今後、このような対処行わずに済むとベストなのですが
大量データをクエリー中にユーザにブラウザの×ボタンで強制終了されてしまった時に起こるこのような問題は、どうすれば解消できるのでしょうか?
単純にSQLの書き方・データが大きすぎるのが悪いのでしょうか?

補足日時:2006/10/24 17:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!