SDK 1.5.2中的“高级查询计划”是否意味着我不再需要在datastore-indexes.xml文件中指定索引?

时间:2011-07-22 15:30:21

标签: google-app-engine google-cloud-datastore indexing

在最新的App Engine 1.5.2版本中发布“高级查询计划”的实际效果是什么?

  

高级查询计划 - 我们不再需要爆炸索引   并减少许多查询的自定义索引要求。 SDK会   在几个案例中建议更好的索引,即将发表的文章将会描述   什么进一步的优化是可能的。

如果我通常would define my indexes like so

<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes
  autoGenerate="true">
    <datastore-index kind="Employee" ancestor="false">
        <property name="lastName" direction="asc" />
        <property name="hireDate" direction="desc" />
    </datastore-index>

    <datastore-index kind="Project" ancestor="false">
        <property name="dueDate" direction="asc" />
    </datastore-index>
</datastore-indexes>

这个新的SDK更改是否意味着我不再需要包含此文件 - 而App Engine运行时将自动确定需要哪些索引?

如果是这样听起来真的很酷!

1 个答案:

答案 0 :(得分:3)

没有。高级查询计划意味着App Engine运行时将能够更好地利用内置和复合(用户定义)索引来执行更多种类的查询。这可能意味着以前需要复合索引的某些查询现在可以在没有复制索引的情况下执行(具有一些性能影响,根据您的具体情况可能或可能不重要),但它不会消除对自定义索引的需求。

在不久的将来,请留意有关详情的博客文章或文章。