代码之家  ›  专栏  ›  技术社区  ›  Micro

关于具有一个祖先和一个属性的复合索引的澄清

  •  2
  • Micro  · 技术社区  · 7 年前

    我需要澄清一下,我是否需要一个包含一个属性的祖先查询的复合索引。

    1) 当有一个属性具有上升方向时,我是否需要一个复合索引?

    <datastore-index kind="Entity" ancestor="true" source="manual">
        <property name="Property" direction="asc"/>
    </datastore-index>
    

    2) 属性下降时如何?

    <datastore-index kind="Entity" ancestor="true" source="manual">
        <property name="Property" direction="desc"/>
    </datastore-index>
    

    2 回复  |  直到 7 年前
        1
  •  0
  •   Dan Cornilescu    7 年前

    认为 在这种情况下,复合索引是必需的,因为祖先的规范本身实际上会被视为附加属性规范,并且数据存储的单个属性默认索引无法处理结果,因为在这些情况下:

    • 没有属性规范的祖先查询
    • 具有单个属性规范的非祖先查询

    我相信,我的怀疑通过接受这一相关答案得到证实: Objectify DatastoreNeedIndexException error on Order

        2
  •  0
  •   Ying Li    7 年前

    您的查询是否使用不平等过滤器(大于/小于…等)?因为你需要 a composite index for any "Queries with ancestor and inequality filters"