電子書籍の厳選無料作品が豊富!

すいませんphpとmysqlの処理のしくみがわかってないです

phpの処理の中でmysqlからSELECTで値を取得する場合

mysqlが大量のデータで処理に時間がかかった場合は、SELECTの処理に5秒くらいかかっても、phpの処理の中でそこで待ってくれているんですか?

SELECTの処理が何秒かかったとしても終わってから次のphpの処理にいっているんですか?

phpって速いのにmysqlのスピードが遅かったらちゃんと読み込まれないんじゃないかと心配になっています

A 回答 (1件)

> SELECTの処理が何秒かかったとしても終わってから次のphpの処理にいっているんですか?



はい。待ってくれます。
ただ、所定の時間返ってこないとタイムアウトになり、失敗を返してから次の処理に行きます。

もっと具体的に言うと、同期APIだと待ちます。非同期APIだと待ちません。
いずれの場合でも、意図に反してMySQLが結果を返さないのを無視して実行を進めることはありません。

非同期APIの場合は例えばこんなコードになるみたいです。
http://www.php.net/manual/ja/mysqli.poll.php

PDOからは非同期APIは使えないようですが。
http://php.net/manual/ja/mysqlinfo.api.choosing. …
    • good
    • 0
この回答へのお礼

ありがとうございました。すっきりしました

>同期APIだと待ちます。非同期APIだと待ちません

今の自分には難しいですが丁寧な回答ありがとうございました

お礼日時:2013/04/28 19:30

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