[PHP-users 29795] Re: DBからの値取得が遅すぎる。

M.Terao mayo @ b-gets.ddo.jp
2006年 7月 14日 (金) 13:11:55 JST


寺尾です。

検証した結果を追記します。

> $result = $db->query("SELECT * FROM TABLE WHERE a=1000 order by b");
> for($i=0;$i<$result->NumRows();$i++){
> 	$data[] = $result->fetchRow(DB_FETCHMODE_ASSOC);
> }
MySQLは接続時、query発行時、切断時のみDBへアクセスしていますが、
DB2の場合ODBC接続をしているのですが、
fetchRowを実行するたびにアクセスをしているため、
遅くなっている模様。

ためしにodbc関数を使って書いてみたのですが、
odbc_fetch_array関数の度にアクセスしています。

tcpdumpを見る限り一度の通信で、送信、受信、送信を行っているようです。

これを回避することはできないのでしょうか?

PHPの4.3.11と4.4.2でも試してみたのですが、結果は同じでした。

どなたか助けて下さい。

よろしくお願いいたします。



PHP-users メーリングリストの案内