数据存储写操作限制超出

时间:2011-12-31 04:35:50

标签: google-app-engine

我正在使用app-engine的Java SDK。 我正在使用主从数据存储。 我只有两个表,每个表有30列,没有一个表的大小超过20个字节。 在每个表中输入300行后,它显示数据存储区写入操作0.03百万,其中0.05百万。 我检查了桌子。它们仅包含300个条目。我的代码中没有无限循环的错误。 请有人帮我指出我可能出错的地方吗?

谢谢, Amrish。

3 个答案:

答案 0 :(得分:8)

如上一个答案中所述,这些写入总数包括您的索引写入。 即使您尚未定义任何自定义索引,所有实体属性都具有关联的默认索引(除非该属性配置为未编制索引)。

有关详细信息,请参阅http://code.google.com/appengine/articles/indexselection.html;有关写入费用的详细信息,请参见http://code.google.com/appengine/docs/billing.html#Billable_Resource_Unit_Cost 例如,一个新的实体'put'是: 2每个索引属性值写入+ 2个写入(这些是针对该属性的默认索引)+ 1每个复合索引值写入(对于您定义的任何相关自定义索引)。

答案 1 :(得分:4)

数据存储区编写器操作包括索引更新。确保您没有exploding indexes。还要记住,默认情况下所有字段都有内置索引;使你没有使用索引的任何字段保存配额。

此外,为了获得更好的可靠性和可用性,请考虑切换到高可靠性数据存储区(但这并不能直接解决您的问题)。

答案 2 :(得分:0)

我认为由于list_flightinfo的大小而存在问题。此外,此代码可能每秒被调用几次。

该实体的关键是:

src+"_"+dest

循环中没有改变,因此同一实体会一次又一次地被覆盖。