2010-12-01 13 views
0

こんにちは私はGQLからサブ秒精度のクエリをクエリする際に問題があります。誰かが似たような問題や回避策を持っていたのか不思議です。googleアプリケーションエンジンGQL、ミリ秒精度のdatetimeでページ設定を行う方法

問題点は、一度に多数のオブジェクトのバッチをGoogleデータストアに読み込むことです。したがって、1秒間に何千ものオブジェクトを追加することができます。

検索時に、追加された日時に基づいてページを作成したいときにページングの問題に遭遇します。 (最後に追加された時間は、ページングには理想的です。ユーザが持っていないデータだけを取得できるためです)。

エンティティのバッチがサブ秒量子内に追加されるためです。ページングは​​、同じ秒で挿入されたエンティティのバッチを使用してページングを開始する必要がある場合に問題になります。

私は分数を持つdatetimeオブジェクトを渡そうとしても、アプリケーションエンジンの1つの箱の解決策ではサブ秒のクエリを処理できません。 つまり、次のクエリを使用して、datetimeオブジェクトを秒単位で渡します。ローカルでは私はPython 2.6を実行しています。

テスト= GqlQuery( "> lastupdatedどこのテーブルから選択*:1"、minimumTime)を

minimumTimeは10のようなものである場合:00:00.0500、結果セットはまだ10でlastUpdatedを持つレコードを含めることができます: 00:00.0100,10:00:00.0200など。

回避策は、独自のキー形式を作成することですが、自動インクリメントする必要があります。しかし、ただ単に欠けている他の単純なソリューションがあるかどうかを見たいと思っていました。

おかげで、 寧

+0

datetimeフィールドでページネーションを使用していますか? –

答えて

2

のDateTimeにページ番号を付けないでください。代わりにcursorsを使用してください。

関連する問題