Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Google应用程序引擎:如何加速短字符串属性上的数据库查询?_Java_Google App Engine - Fatal编程技术网

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插件)开始。您认为它会在几毫秒内在生产服务器上执行吗?就性能而言,开发环境和生产环境之间存在很大的差异。在开发环境中,不要担心性能,而要担心正确性。还有一个选项,可以让您的应用程序有一个测试版本(技术上是一个单独的应用程序)部署到以进行性能测试。