Google app engine 如何知道总是使用哪些索引
可能重复:Google app engine 如何知道总是使用哪些索引,google-app-engine,indexing,Google App Engine,Indexing,可能重复: 我有一个有几个索引的应用程序,我想清理所有未使用的索引,以获得更好的性能 现在我有一个index.yaml,其中只包含所需的索引,但我不确定它是否正确,因为有时数据存储需要复合索引,或者我可能犯了一个错误 真正的问题是如何知道使用了哪些索引 最大的问题是,如果我删除一个使用过的索引,那么删除它的时间非常……非常长,而且构建过程也一样。过去的过程是: 清除应用程序本地开发副本上的index.yaml 在SDK上运行一组覆盖测试(不必覆盖每一行代码,只需覆盖每个查询,这使得编写这些测试
我有一个有几个索引的应用程序,我想清理所有未使用的索引,以获得更好的性能 现在我有一个index.yaml,其中只包含所需的索引,但我不确定它是否正确,因为有时数据存储需要复合索引,或者我可能犯了一个错误 真正的问题是如何知道使用了哪些索引
最大的问题是,如果我删除一个使用过的索引,那么删除它的时间非常……非常长,而且构建过程也一样。过去的过程是:
[编辑:发现了一个重复,所以假设这个答案仍然是最先进的,那么就去投票吧,而不是我]好的,但是没有关于生产环境需要的综合索引的信息?@sahid:为什么生产环境需要与开发环境不同的索引?据我所知,一个给定的查询在任何地方都需要相同的索引,但正如我所说的,我可能已经过时了。开发环境根本不需要索引,尽管您可以指定一个命令行标志,让它假装需要索引。它完全生成生产中所需的索引。@尼克:你是说“不需要索引”,即它使用索引,但根据需要生成任何它想要使用的东西吗?我认为这是“需要索引”,只是不需要应用程序预先指定它们。或者您的意思是“不需要索引”,即dev服务器实际上在每个查询上搜索整个表?如果是后者,那么它是否只是一个验证步骤,防止开发服务器(例如)在查询中包含多个不相等的比较?@Steve开发服务器不使用索引-它们纯粹是为生产环境生成的。是的,您可能会进行一些小的修改,而dev服务器将能够执行具有多个不等式的查询,尽管这不是一个好主意。