簡體   English   中英

Google App Engine NDB查詢和超出的內存

[英]Google App Engine NDB Queries and exceeding memory

我有一個名為“ Obj”的Google App Engine數據存儲,其生產中的實體接近50萬。 我正在嘗試僅查詢50個Obj實體,但是即使將limit參數設置為50,查詢最終仍會引發錯誤“超出軟私有內存限制”。

這是否與查詢中使用ndb.GenericProperty有關? 屬性“ trashed_date”是日期時間類型,通常不是Obj的屬性。 我還手動為status和rashed_date創建了正確的索引。 應該“ trashed_date”始終是該模型的屬性嗎?

以下是我正在使用的代碼,僅查詢50個不超過內存限制的實體時該怎么辦?

q = Obj.query(
    Obj.status == 1,
    ndb.GenericProperty('trashed_date') < expire_date
)
results = q.fetch(50)

請嘗試使用q.iter()和一個計數器將其限制為50。我對fetch()有類似的問題,並使用iter()進行了修復。 GAE強烈建議您不要立即獲取。 YMMV。 HTH。 -stevep

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM