Verbesserung der MySQL-Sucheffizienz mit „LIKE“ und Platzhaltern
Problem: Abfragen wie „SELECT * FROM sometable WHERE somefield LIKE '%value%'" sind aufgrund des führenden Wildcard-Verhinderungsindexes ineffizient Auslastung.
Lösung: Suffix-Array-Indizierung
Bei relativ kurzen Zeichenfolgen sollten Sie erwägen, alle möglichen Suffixe jedes Wortes in der Datenbank zu speichern. Für das Wort „Wert“ würden wir beispielsweise Folgendes speichern:
value alue lue ue e
Durch das Speichern von Suffixen eliminieren wir den führenden Platzhalter und ermöglichen so die Verwendung von Indizes für schnelle Teilzeichenfolgensuchen.
Speicherkosten:
Der zum Speichern von Suffixen erforderliche Speicherplatz erhöht sich quadratisch mit der Stringlänge. Zum Beispiel:
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann die Suffix-Array-Indizierung MySQL-„LIKE'-Abfragen mit Platzhaltern verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!