4 Stimmen

Google App Engine: Wie beschleunigt man die Datenbankabfrage bei einer Eigenschaft mit kurzer Zeichenfolge?

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X