人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP+Access(DBとして)で小規模システムを作っています。

起動後に表示される画面は「一覧画面」で、初期状態では全登録データを
表示させ、検索ボックスで条件絞り込みをしていき(必要なら)、
該当データの「詳細表示」ボタンで次の画面へ遷移するという流れです。

この「一覧画面」ですが、データが数十件程度ならふつうに
表示されるのですが、テストで数千件データを入れてみたところ
非常に表示が遅くなります。

そこで「ページング」で対応しようと思ったのですが
調べたところ、AccessのSQLでは「LIMIT」が使えないため
例えば「20件目?40件目のみ呼び出し」的なことができないようです。

何か他によい方法はないでしょうか?

例えばPEAR::Pagerというライブラリなど使っても、結局全件呼び出しで
表示速度が変わらないのは解消できないでしょうか?

宜しくお願いします。


●質問者: kentaro_jpn
●カテゴリ:ウェブ制作
✍キーワード:access dB Pear PHP SQL
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● airlike
●50ポイント ベストアンサー

この2件あたり参考にならないでしょうか?

http://d.hatena.ne.jp/chion_lab/20100415/p1

http://www.accessclub.jp/bbs6/0004/das651.html


2 ● km1981
●50ポイント

例えば、並び順を決定するフィールドが ID として、

21行目から30行目まで表示する場合は、


SELECT TOP 10 * FROM テーブル名
WHERE
ID > (SELECT MAX(ID) FROM (SELECT TOP 20 FROM テーブル名 ORDER BY ID)) 
ORDER BY ID;

というような感じになると思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ