小编net*_*au5的帖子

数据存储区中确实需要索引吗?

我对一些GAE文档感到困惑.虽然我打算添加索引以优化我的应用程序的性能,但我想澄清它们是否仅为此目的而建议,或者是否真的需要它们.

查询无法找到未编制索引的属性值.这包括标记为未编入索引的属性,以及具有长文本值类型(文本)或长二进制值类型(Blob)的值的属性.

对属性的过滤器或排序顺序的查询将永远不会匹配其属性值为Text或Blob的实体,或者使用标记为未编入索引的属性编写的实体.具有此类值的属性的行为就像未针对查询过滤器和排序顺序设置属性一样.

来自http://code.google.com/appengine/docs/java/datastore/queries.html#Introduction_to_Indexes

第一段让我相信你根本无法对未编入索引的属性进行排序或过滤.但是,第二段让我认为此限制仅限于Text或Blob属性或专门注释为未编入索引的属性.

我对这种区别感到好奇,因为我有一些数字和字符串字段,我目前正在生产环境中对未编制索引进行排序/过滤.这些查询正在后台任务中运行,后者通常不关心性能(宁愿在此引用中优化大小/成本).我有点幸运的是,这些正在返回正确的数据吗?

google-app-engine google-cloud-datastore

4
推荐指数
1
解决办法
2164
查看次数