今天,我们第一次在Google App Engine中收费,主要原因似乎是Datastore
的创建,阅读和删除操作。
我正在试图找出导致这种情况的原因 - 或者谈论数百万次奇怪的操作。
我们每天有半个任务删除750个实体并编写750个新实体,所以我相信我们应该注意的事情 - 但即使这样,它又怎么会有数百万呢?
另一个问题是 - 如果我使用的是远程api,那么Datastore
操作会有什么额外的影响吗?
我们必须减少这个数字因为我们只有10-15名测试用户,而我们现在根本无法负担这笔费用。
我想听听您的经验中的任何建议,或者我们应该检查可能导致此操作的事情。
由于
答案 0 :(得分:0)
原因可能是列表属性的复合索引。
想象一下你有:
With
并在(Prop1,Prop2,Prop3)上有一个综合指数。
如果推送像MyModel:
Prop1: list of vals
Prop2: list of vals
Prop3: list of vals
这样的单个实体,则会生成:
MyModel(prop1=[1,2,3], prop2=[4,5,6,7], prop2=[8,9,10,11,12])
使用列表属性上的复合索引,您可以在几何级数中编写操作,这可能会导致索引的组合爆炸。