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