次へと前へだけじゃないページングはやっぱり必要だと思う。
YappoLogs: なぜ SQL_CALC_FOUND_ROWS や LIMIT OFFSET のページングが良く無いのか
これ見て、
- 世の中
SQL_CALC_FOUND_ROWS
とか使っても大丈夫な規模のデータは少なくないし、 - そもそも次へと前へだけじゃないページング(以下ページジャンプ)は便利だし、
- 無能なプログラマのために変な対処療法しても意味ないし、
適当なこと言ってるなと思った。下二つについて以下説明。
そもそも次へと前へだけじゃないページング(以下ページジャンプ)は便利だし、
もちろん「前へ 1 2 3 4 5 6 次へ」みたいなリッチなページングの実装には役に立たないかもしれません、でも果たしてそういったページング処理は本当に必要なんでしょうか?
常にとは言わないが、少なくない場合で必要だと思う。
そもそも、どういう場合に次にではなく、いくつか先にジャンプするか。
- 欲しいものが現在のページにない。
- 欲しいものが次のページにもない気がする。
- でももっと先には欲しいものがあるかもしれない。
このような状況はなぜ起きるか。
- 検索機能に不足があるか、検索精度の問題で、検索結果を欲しいものだけに絞り込めない。
- だが、検索結果が二分探索可能な順番で並んでいるので、ページジャンプが事実上の絞り込みになる。
常に十分な検索結果を提供できたり、あるいは二分探索的な絞り込みをページジャンプ以外のUIで可能にするなら、ページジャンプはいらないかもしれない。
でもそれができないうちは、気をつけつつ使う、のがいいんじゃないかな。
技術の都合で適切なUI提供しないのは間違ってる。