据我所知,App Engine索引在增加整体存储空间和降低写入速度方面都很昂贵。
但索引只有在实际用于查询并且在index.yaml中明确定义时才会花费吗?或者像StringProperty这样的属性是否比现有的非索引对应物(例如TextProperty)花费更多,即使它们没有在index.yaml中使用?
答案 0 :(得分:7)
您还可以为不想编入索引的属性设置indexed = False:
http://code.google.com/appengine/docs/python/datastore/propertyclass.html#Property
答案 1 :(得分:3)
即使您没有在index.yaml文件中明确定义任何其他索引,也有内置/默认索引会产生开销。因此,如果您知道永远不需要对该字段进行过滤,则应该使用TextProperty
代替StringProperty
字段。
这些隐含指数的详细信息由文章How Entities and Indices are Stored提供。