Java Google应用程序引擎:如何加速短字符串属性上的数据库查询?
我有一个非常简单的数据库查询:Java Google应用程序引擎:如何加速短字符串属性上的数据库查询?,java,google-app-engine,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())) { // ... } 因此,搜索给定名称
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个字符。据我所知,短字符串的索引(dev-appserver的性能并不表示生产性能。特别是,dev-appserver根本不使用索引。每个查询只扫描该类型的每个实体
因此,不要在开发应用服务器中插入那么多数据。使用它来测试基本功能,然后部署,并将1000000个实体插入到实际生成和使用索引的生产应用引擎应用服务器中。这些实体总共有多大?这些实体非常小。总共:3个整数、1个字符串和1个日期。是吗这是在生产环境中还是在sdk中的dev appserver上?我刚刚在sdk中的dev appserver上运行了它,从eclipse(google插件)开始。您认为它会在几毫秒内在生产服务器上执行吗?就性能而言,开发环境和生产环境之间存在很大的差异。在开发环境中,不要担心性能,而要担心正确性。还有一个选项,可以让您的应用程序有一个测试版本(技术上是一个单独的应用程序)部署到以进行性能测试。