タグ

2010年2月1日のブックマーク (3件)

  • #appengine でクエリの1000件超の結果件数を取得する方法

    先のエントリで書いた#appengine でクエリの結果件数を取得する方法(1000件超とか)の続きです。 どーしても動的な条件に対する結果件数を…ていうなら、最悪Low-level APIでsetKeysOnly()しつつページング(常に条件を変えつつoffset0~limit1000で)、で数えるという手もあるかもしれない。これもまた試してみよう。この方法なら1000件につき約110msなんで、7000件でも770msくらいで数えきれるはずだ。 気になって眠れないので引き続きこちらの方法も試してみた。 手法 AppEngineでのページング手法としてBest practices for writing scalable applicationsでも書かれているページング方法で、setKeysOnly()を使う場合、使わない場合のふたつのパターンを試してみた。どちらもasList()を使

  • App Engine でページングを行う方法

    Python 概要 CGI 環境 データの格納 概要 エンティティとモデル データの作成、取得、削除 キーとエンティティ グループ クエリとインデックス トランザクション 型とプロパティ クラス GQL リファレンス リファレンス Model Expando PolyModel Property Query GqlQuery キー 関数 例外 サービス Memcache 概要 Memcache の

  • Tiny Message

    appengineのデータストアでは、クエリのoffsetの指定に制限があります。 offset + limit <= 1000となっています。 (実際は1000を超えることが出来るそうですが処理時間がかかります) そこで、ソート用のプロパティに対してクエリのWHEREを使う方法があります。 http://code.google.com/intl/ja/appengine/articles/paging.html これでページングは出来るのですが、URLにソート用のプロパティの値が入ってしまいます。 例: ?when=2008-10-26T04:38:00|aee15a URLが美しくないのと、逆に前へ辿るためにもクエリ発行が必要なので、 ページ番号でページングできるように考えました。 そのために、あるページでのエンティティの範囲をキャッシュするようにします。 キャッシュ用のモデルは以下の