默认情况下,应用引擎为每个字段定义一个内置索引。我没有创造它们,我也不想要它们。
我的实际实体只消耗了 159MB,但索引额外消耗了 680MB。我只会对这些实体进行键查询,所以我根本不需要任何索引。我怎样才能删除这些?
编辑:vacuum_indexes
的输出:
Found 0 unused indexes on the server.
Details:
No indexes were deleted.
vacuum_indexes completed successfully.
最佳答案
您不能删除内置索引。它们是内置的 :)
您可以做的是减少应用模型使用的索引数量。默认情况下,每个属性都在 AppEngine 中编制索引。我认为您是认真的。
要使属性未索引,请将参数添加到 de 属性声明中,如下所示:
class MyModel(db.Model):
FirstName = db.StringProperty(Indexed=False)
LastName = db.StringProperty(Indexed=False)
...
这样,appengine 将停止为该特定属性使用/创建索引。下次运行 SDK 控制台时,indexes.yaml 文件将自动更新。
您需要做的最后一件事是执行 appcfg.py vacuum_indexes myapp/
。阅读有关 Appengine SDK docummentation 上最后一个命令的更多信息.
关于java - 如何删除内置数据存储索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11198968/