2016-05-17 11 views
3

Ich habe einen Element Bereich Index für ein Element in meiner Datenbank konfiguriert. Ich versuche, eine Suchanfrage für dieses Element auszuführen. Das Element enthält String-Werte und ich muss nach einem bestimmten String-Wert suchen (nicht nach einem Bereich von Werten oder Datum). Obwohl sowohl Elementwert- als auch Elementbereichsabfragen verwendet werden können und der Index bereits vorhanden ist, werden beide Abfragen auf dieselbe Weise ausgeführt? oder Element-Bereich führt in diesem Szenario besser?Leistung von Element-Wert-Abfrage vs Element-Bereich-Abfrage

+0

Wenn eine der folgenden Antworten Ihre Frage beantwortet, können Sie sie bitte als Akzeptiert markieren? –

Antwort

4

Die Bereichsabfrage wird schneller.

Der Elementwert Abfrage verwendet den Universal-Index und das ist nicht vollständig im Speicher

Der Abfrage Benutzer Bereich eines Distanzindex und das ist ein im Speicher-Index.

Die Bereichsabfrage wird viel schneller, wenn Ihre Daten wachsen. Es wird auch schneller, wenn Sie viele einzigartige Begriffe in diesem Element haben.

+0

Danke @ tyler-replogle – Selva

3

Die Bereichsabfrage beantwortet auch eine andere Frage als die Wertabfrage.

Wertabfragen suchen nach übereinstimmenden Wortsequenzen, die nicht mit Zeichenfolgen übereinstimmen. In der Voreinstellung sind sie auch stemmed, so dass cts: element-value-query (xs: QName ("x"), "in Ordnung") mit übereinstimmt. Sofern Sie nicht exakt eine nicht-staffierte Wertabfrage ohne Wertabfrage durchführen, kann eine ungefilterte Suche auch keine Leerzeichen und Interpunktionsunterschiede auflösen.

Bereichsabfragen (für Zeichenfolgen) sind übereinstimmende Zeichenfolgen unter den Regeln einer bestimmten Sortierung.