[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 メーリングリストの案内