Heim >Datenbank >MySQL-Tutorial >Wie kann die Suffix-Array-Indizierung MySQL-„LIKE'-Abfragen mit Platzhaltern verbessern?
Verbesserung der MySQL-Sucheffizienz mit „LIKE“ und Platzhaltern
Problem: Abfragen wie „SELECT * FROM sometable WHERE somefield LIKE '%value%'" sind ineffizient, da der führende Platzhalter die Indexnutzung verhindert.
Lösung: Suffix-Array-Indizierung
Bei relativ kurzen Zeichenfolgen sollten Sie die Speicherung in Betracht ziehen alle möglichen Suffixe jedes Wortes in der Datenbank. 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!