• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DBサーバーのOracleからのデータ取得について)

DBサーバーのOracleからのデータ取得について

このQ&Aのポイント
  • WEBサーバー(Linux)とDBサーバー(WindowsServer2003)が分かれている環境で、WEBサーバーのPHPからoci8で、DBサーバーのOracleからデータ取得をしており、データ取得量?が多いとエラーとなってしまいます。
  • SQL自体はOracle環境で実行して正常にデータ取得することは確認しているのですが、10万行程度のレコード数でもレスポンスの時点?でエラーとなります。
  • 解決方法をご存じの方や、PHPもしくはLinuxの設定で取得データサイズの設定方法について分かる方がおりましたら、ご教授ください。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

PHPのエラーログには何かエラーメッセージが出ていませんか? 考えられるのは、PHPの処理時間が長くなりすぎてタイムアウトしているか、DBの処理時間やDBとの通信時間が長くなりすぎてタイムアウトしているか、PHPの利用できるメモリ量を超えてデータが抽出されたためメモリ不足でエラーになっていると言った所かと思います。 それぞれで対処方法が異なるので、まずは原因を特定する必要があります。

その他の回答 (1)

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

実行したSQLで取得できるレコード数が多すぎてWebサーバーとDBサーバーとの間の転送時間が長すぎるのが原因でしょう。 解決策としては、レコード件数が少なくなるようにWHEREの抽出条件を工夫すること。 あとは、プログラムの目的と、取得するデータの用途によってSQL分を精査することくらいですね。

関連するQ&A