2017-05-29 70 views
0

假设我有一个具有1个未索引字段和5个索引字段的物品实体。如果我要通过单独修改未索引属性来更新实体,是否也会导致重写五个索引字段的索引?基本上我很担心这里的写入成本。更新物品实体而不更改索引属性

回答

1

是的,实体的每次更新都会导致所有索引属性的更新。换句话说,无论是只更新一个属性还是所有属性,写入成本都是相同的。

这不是特定于Objectify - 这是数据存储的工作原理。

+0

这种定价改变之前是不正确的回来,肯定不是现在。目前的定价是每个实体的固定价格,不论指数的数量如何。 – stickfigure

+0

什么是不正确?您的回复与我的完全相同 - 写作成本不取决于索引属性的数量,即无论有多少属性更新,写入成本都是相同的。 –

+0

我非常怀疑它会独立于索引属性的数量 - 为什么Google会继续解释写入成本,如https://cloud.google.com/appengine/docs/standard/python/datastore/entities#Python_Understanding_write_costs所示。开发者必须为未经索引的房产留下何种激励? – adarsh

2

Google会按实体写入收费,而不考虑索引数量。

https://cloud.google.com/appengine/pricing#costs-for-datastore-calls

+0

我对此的解释是,这里提到的成本是每个写入请求,但我同意每个实体写入更合理的解释。我怀疑是因为https://cloud.google.com/appengine/docs/standard/python/datastore/entities#Python_Understanding_write_costs中解释过,单个实体写入实际上可能导致数十个写入请求。 – adarsh

+0

该文档似乎已过时;这就是它以前的工作方式。无论更好还是更糟,Google现在都会根据实体撰写费用。 – stickfigure