- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DBサーバーのOracleからのデータ取得について)
DBサーバーのOracleからのデータ取得について
このQ&Aのポイント
- WEBサーバー(Linux)とDBサーバー(WindowsServer2003)が分かれている環境で、WEBサーバーのPHPからoci8で、DBサーバーのOracleからデータ取得をしており、データ取得量?が多いとエラーとなってしまいます。
- SQL自体はOracle環境で実行して正常にデータ取得することは確認しているのですが、10万行程度のレコード数でもレスポンスの時点?でエラーとなります。
- 解決方法をご存じの方や、PHPもしくはLinuxの設定で取得データサイズの設定方法について分かる方がおりましたら、ご教授ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
PHPのエラーログには何かエラーメッセージが出ていませんか? 考えられるのは、PHPの処理時間が長くなりすぎてタイムアウトしているか、DBの処理時間やDBとの通信時間が長くなりすぎてタイムアウトしているか、PHPの利用できるメモリ量を超えてデータが抽出されたためメモリ不足でエラーになっていると言った所かと思います。 それぞれで対処方法が異なるので、まずは原因を特定する必要があります。
その他の回答 (1)
- bardfish
- ベストアンサー率28% (5029/17766)
回答No.2
実行したSQLで取得できるレコード数が多すぎてWebサーバーとDBサーバーとの間の転送時間が長すぎるのが原因でしょう。 解決策としては、レコード件数が少なくなるようにWHEREの抽出条件を工夫すること。 あとは、プログラムの目的と、取得するデータの用途によってSQL分を精査することくらいですね。