我有一张桌子ndb datatstore
。在那我有
updated = ndb.DateTimeProperty(auto_now_add=True, indexed=False)
created = ndb.DateTimeProperty(auto_now_add=True, indexed=False)
通过这种结构,表中有很多记录。现在,我正在更新未索引的字段indexed=True
。那么,将对该表中的所有数据updated
和created
直到该日期为止的数据进行索引还是将在索引之后开始填充要填充的索引数据?
以及如何索引这些列的未索引行?
这些属性将不会在现有实体上建立索引,除非您在启用索引的情况下重写它们。这是因为索引是在每个实体级别设置的。
为了确保为所有这些字段建立索引,您需要读取每个实体,然后将其写回。对于较小的数据集,您可以通过简单的查询和循环进行操作。对于更大的数据集,您将需要探索诸如Cloud Dataflow之类的东西。
如果您有一个庞大的数据集并关注成本,则可以进行一些优化。例如,对索引的字段执行仅键查询,然后,如果任何读取的实体与该列表匹配,则不要将其写回(因为它已被索引)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句