MySQL-Suche mit „Gefällt mir“ und Platzhaltern optimieren
Die „Gefällt mir“-Bedingung mit Platzhalterzeichen kann sich bei Verwendung erheblich auf die Abfrageleistung in MySQL auswirken mit führenden Wildcards. Der Grund dafür ist, dass der führende Platzhalter das DBMS daran hindert, Indizes zu verwenden, sodass die Abfrage eine lineare Suche durch die gesamte Tabelle durchführen muss.
Berücksichtigt man die Einschränkungen der „Gefällt mir“-Bedingung mit Platzhaltern und die Solidität von Für die zu durchsuchenden Zeichenfolgenwerte ist ein anderer Ansatz erforderlich, um die Leistung zu verbessern. Bei diesem Ansatz wird für jedes zu durchsuchende Wort eine Tabelle mit Suffixen erstellt.
Durch die Speicherung jedes möglichen Suffixes jedes Wortes können Abfragen, die die „Gefällt mir“-Bedingung mit nur nachgestellten Platzhaltern verwenden, jetzt Indizes nutzen. Die „Gefällt mir“-Bedingung wird nicht mehr durch den führenden Platzhalter behindert, was effiziente Suchvorgänge mithilfe einer Bereichsabfrage im Index ermöglicht.
Die mit diesem Ansatz verbundenen Speicherkosten sind ein Kompromiss. Dadurch entfällt zwar der Speicheraufwand für das führende Platzhalterzeichen in der „Gefällt mir“-Bedingung, es entstehen jedoch zusätzliche Speicheranforderungen für die Suffixtabelle. Der benötigte Speicherplatz nimmt mit zunehmender Wortlänge dramatisch zu.
Überlegungen zur Implementierung umfassen die Festlegung der geeigneten Wortaufteilungsstrategie (z. B. Umgang mit Bindestrichen), das Ausbalancieren des Speicheraufwands mit der Abfrageeffizienz und die Erkundung alternativer Speichermethoden für Suffix-Arrays zur Minimierung Lagerkosten.
Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Suchen mithilfe von „LIKE' mit Platzhaltern optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!