[英]How to reduce the query quota in App engine?
用户将同时浏览(分页)数据存储区12中的已排序实体。
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
//get url parameter
int next = Integer.parseInt(request.getParameter("next") );
//query with sort
Query query = new Query("page").addSort("importance", SortDirection.DESCENDING );
PreparedQuery pq = datastore.prepare(query);
//get 12 entity from query result from the index (next)
FetchOptions options = FetchOptions.Builder.withLimit(12).chunkSize(12).offset(next);
for (Entity result : pq.asIterable(options)) {
Text text = (Text)result.getProperty("content");
Document doc = Jsoup.parse(text.getValue());
//display the content
.....
}
问题是,当下一个变量增加时,配额消耗增加得更快!
例如,当下一个是6000时,消耗的配额为40%,而当下一个是10时,消耗的配额不到1%。
如果您使用Google App Engine光标来方便您的分页,那么您的查询将得到优化。 不建议使用较大的偏移量。 建议在GAE中进行分页的方法是使用游标 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.