QA@IT

データベースから取得したデータを、ユーザを待たせずに表示する方法は?

3678 PV

Webシステムで、データベースから取得したデータをユーザを待たせない、もしくは待っているように感じさせないように表示するにはどんな方法があるかを考えています。

こんなことをやりたい
1.ブラウザ上でユーザーが任意で条件を指定する
2.「表示」ボタンを押す
3.指定された条件をもとに、データベースからデータを取得
4.取得したデータをブラウザに表示

この時、
データベースの構造を考えるとか、ファイルにしてダウンロードさせるとか、
ある一定の件数を超えたら「ヒット数が多いため条件を絞ってください」とするとか、そういうこともあるとは思いますが、
今回はそういうことは抜きで「ブラウザに表示する」方向での手法をお聞きしたいです。

以下のようなものをイメージしています。

  • ショッピングサイトによくある、ページを下へスクロールすると続きが自動で表示されるもの
  • グリッド形式だったら、最初に何行か表示された後で、徐々に表示される行が増えていくようなもの(スクロールバーが伸びていく感じで)

現在、頭の中は「データベースから結果が返ってくる前から表示を始めるってどうなってるの?」という状態です。
サーバ、データベース、言語等・・・どんなものを使って実現されているのか、それとは関係なくコーディング次第でどんな言語でもできるのか、見当がつきません。
漠然とした質問ではありますが、よろしくお願いします。

回答

データベースから結果が返ってくる前から表示を始める

そんなことは出来ないです。

ページを下へスクロールすると続きが自動で表示される
最初に何行か表示された後で、徐々に表示される

は「検索条件にマッチしたレコードを、表示に必要な件数だけ都度取得」しているだけです。

編集 履歴 (0)
  • やはりそんなことはできないですよね。データベースへのアクセスは少ない方が良い(何度もアクセスすると遅くなる)と思っていたので、都度取得は思ってなかったです。 -
  • もちろん、DB へのアクセス回数が少ない方がシステム負荷が少なくて済みますが、「全件表示されるまでユーザを待たせてはならない」のが重要な要件であるなら、それを満たす設計とシステム構成を考えだすしかないです。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。