ページングには limit と offset を使うことを初めて知った 2008 冬

rails で標準添付されていた(今は標準ではなくなった) ページング。S2JDBC にもある機能(機能って言うのかな?)。ただ、どうやって実現してるのかが分からなかった。

  • カーソル位置どうやって指定するんだ?
  • アプリ側でデータ取得してから取り直して必要なところから抜き出してんのか?
  • めちゃめちゃメモリ効率とレスポンス悪くねーか?

なんて思ってた。恥ずかしい orz
調べるつもりがずーっと放置プレイで今日に至り、twitter のパクリを作ってる過程で「そろそろページネートでもやるか。でもどうやってやるんだ?」で、S2JDBC のドキュメントを見ていた。

jdbcManager.from(Employee.class)
.orderBy("name")
.limit(100)
.offset(10)
.getResultList();

ページング

limit と offset ・・・。アッー!

おかげで勉強になりました。ありがとう S2JDBC 。ありがとうドキュメント。
S2JDBC で作った SQL は標準出力(Eclipse のコーンソール)で見えるから、どういう SQL が作られてるのかが勉強できて便利だよ(本当はここだけが言いたかった)。