Ich habe eine ganz einfache Datenbankabfrage:
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())) {
// ...
}
So ist es einfach, alle Einträge nach dem angegebenen Namen zu durchsuchen. Der Name ist nicht eindeutig und enthält maximal 16 Zeichen. Soweit ich weiß, wird der Index für die kurzen Zeichenfolgen (<500 Zeichen) automatisch erstellt.
Die Tabelle enthält etwa 100000 Einträge. Die Datenbankanfrage benötigt mehr als 8 Sekunden, um alle (etwa 10) Entitäten abzurufen.
Die Frage ist nun, wie man es beschleunigen kann.