0
獲取AppEngine數據存儲查詢大小的最有效方法是什麼?獲取AppEngine數據存儲查詢大小的最有效方法
說我有一個查詢過濾器,使得檢索到的實體的數量是N.是否有可能得到N的值,而不進行完整的數據存儲檢索?
我已經找到了最有效的方法是使用「鍵只有」查詢,從而:
Query q = new Query("MyKind").setKeysOnly();
q.setFilter(someFilter);
PreparedQuery pq = datastore.prepare(q);
long N = pq.asList().size();
有沒有更好的辦法?如果我只想知道N的大小是否超過某個值,是否有更有效的方法?
謝謝。
D'oh!我怎麼會錯過?即便如此,從數據存儲配額的角度和從延遲的角度來看,我們是否希望降低成本? – aez 2013-05-05 19:51:06
你必須測試確定,但我的猜測是他們會非常接近。你會返回略少的信息(一個數字而不是一個鍵列表),但它應該接近。如果你真的需要低延遲計數的項目,你應該研究一個分片計數器。 – jcjones1515 2013-05-05 21:14:22
countEntities的限制爲1000 – 2013-06-14 22:46:02