python - App Engine 中的查询 fetch() 和迭代实际上是否相同?

标签 python google-app-engine

使用 App Engine 版本 1.3.6,released Aug-17-2010 , 1000 项 fetch()限制已删除。

这是否意味着 ModelClass.all().fetch(limit=99999999999)[e for e in ModelClass.all()]是等价的吗?

如果它们不同,它们可能会有细微的差别。例如,RPC 调用次数是否相等?

最佳答案

虽然 1000 个实体的限制已从 fetch 中移除,但您仍然需要提供自己的明确上限。当然,如果您将其设置得足够大,那么您将检索所有实体。

您在上面提出的迭代器方法在功能上是等效的(如果传递给 fetch 的限制足够大以检索所有实体)。但是,它们确实具有不同的性能特征。特别是,迭代器一次获取一小块实体。如果您有大量实体,那么使用迭代器的版本将产生更多的 RPC。

关于python - App Engine 中的查询 fetch() 和迭代实际上是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4697542/

相关文章:

Udacity 上的 Python 示例坏了?

java - 应用程序引擎查询按 'id' 范围的实体进行过滤,忽略祖先

google-app-engine - 还有其他类型的 "Task Queue"API 吗?

python - 模型验证器谷歌应用引擎 - BadValueError

google-app-engine - 如何设置GAE环境特定的环境变量?

python - 需要一本好的初学者 WSGI 指南

python - 生成本地化文件的最简单方法

python - 无法使用 file.write 将数据帧写入 python 中的 .csv 文件

python - 如何在 pygame 中限制调整窗口大小

java - 谷歌应用引擎 (Java) 任务队列 API : how to query number of running/pending tasks?