タグ

2010年12月6日のブックマーク (1件)

  • 【Google App Engine】 レコードのシーケンス番号をカウンタを使わずにつける

    カウンタとレコードのシーケンス番号 レコードにシーケンス番号(連番)をつけると、全体の件数を取得できたり、Pagingできたりするので、いろいろと好都合である。Pagingだけであれば、わざわざシーケンス番号を付ける必要はないが、大量のレコードを分割してTaskQueueで並列処理させたい場合には、シーケンス番号で範囲指定を行うとよい。(全体の件数はStatics APIでも取得できる) シーケンス番号を付けるには、カウンタを管理するEntityを用意して、挿入のたびにインクリメントする方法が一般的だと思うが、これだと前記事で述べたように、カウンタのEntityとデータのEntityをEntityGroupとして括ってしまうことが大きなボトルネックとなってしまう。しかし、トランザクションで括らないと挿入に失敗することがあるため歯抜けのシーケンス番号となってしまう。 そこで、カウンタのEnt

    griefworker
    griefworker 2010/12/06
    GAEでカウンタを使わずにレコードのシーケンス番号を設定する方法。