[PHP-users 21560]全件取得時のレスポンス改善
yamamoto
yamamoto @ asset-alpha.com
2004年 5月 10日 (月) 23:32:06 JST
山本と申します。
現在php4.3.4,oracle8.1.7で開発を行っております。
検索結果を表示する際に以下の順序で行っていますが、
時間がかかり困っています。
1.検索条件でSQL文作成
2.SQL文のセット(OCIParse)
3.SQL文の実行(OCIExecute)
4.取得した結果をwhile Loopでセッション配列にセット
(一度に全件取得にしたのは再ソートを行う必要があるからです。)
の順で処理を行っています。
条件:ページ表示件数100件、検索結果最大2000件(10ページまで)
以下に実行例を示します。
(実行例.A 検索結果件数292件)
1 = 2004/05/10 18:02:16
2 = 2004/05/10 18:02:16
3 = 2004/05/10 18:02:16
4(開始) = 2004/05/10 18:02:36
4(終了) = 2004/05/10 18:03:31
(実行例.B 検索結果件数2000件以上)
1 = 2004/05/10 18:05:28
2 = 2004/05/10 18:05:28
3 = 2004/05/10 18:05:28
4(開始) = 2004/05/10 18:09:51
4(終了) = 2004/05/10 18:19:20
処理時間を検証してみると3(SQL文の実行)より4(取得した結果を
セッション配列にセット)に時間がかかっています。
このようなケースの場合レスポンスの改善策はないのでしょうか?
よろしくお願いします。
--
yamamoto <yamamoto @ asset-alpha.com>
PHP-users メーリングリストの案内