Google App Engine:如何加快短字符串属性的数据库查询?

时间:2011-09-30 13:42:10

标签: java google-app-engine

我有一个非常简单的数据库查询:

Query q = new Query("person");
q.addFilter("name", Query.FilterOperator.EQUAL, req.getParameter("n"));
PreparedQuery pq = datastore.prepare(q);
for (Entity result : pq.asList(FetchOptions.Builder.withDefaults())) {
// ...
}

因此,只需搜索给定名称的所有条目即可。该名称不是唯一的,包含最多16个字符。据我所知,短字符串的索引(<500个字符)是自动生成的。

表中有大约100000个条目。数据库请求需要8秒以上才能获取所有(大约10个)实体。

现在的问题是如何加快速度?

1 个答案:

答案 0 :(得分:5)

dev appserver的性能并不代表生产性能。特别是,dev appserver不使用索引。 完全。每个查询只扫描该类型的每个实体。

所以不要将那么多数据插入到dev appserver中。使用它来测试基本功能,然后部署,并将1000000个实体插入到生产应用引擎应用服务器中,而不是实际生成和使用索引。