Frage: Warum ist die Like-Fuzzy-Abfrage immer noch so langsam, obwohl der Index erstellt wurde? Zum Beispiel, ob ein Index verwendet werden soll? 1. Der Index des Schlüsselworts „like %keyword“ ist ungültig, daher wird ein vollständiger Tabellenscan verwendet. Sie können jedoch die Flip-Funktion + Fuzzy-Abfrage vorher verwenden, z. B. + Flip-Funktionsindex erstellen = Flip-Funktionsindex anstelle eines vollständigen Tabellenscans verwenden. 2. Als ob der Keyword%-Index gültig wäre. 3. Der Index „like %keyword%“ ist ungültig und der umgekehrte Index kann nicht verwendet werden. Ein einfacher Test mit MySQL-Explain sieht wie folgt aus: Erklären Sie „select * from company_info“, wobei CNAME wie „%小%“ aussieht. Erklären Sie „select * from company_info“, wobei Cname wie „小%“ aussieht. Oracle-ähnliche „%...%“-Optimierung 1. Versuchen Sie, nicht „%%“ zu verwenden. 2. Für '%' (nicht beginnend mit %) kann Oracle den Index auf die Spalte anwenden 3. Für like '%…' (endet nicht mit %) können Sie reverse + function index verwenden, um es in like '%' zu ändern. 4. Wenn Sie etwas wie „%%“ verwenden müssen, lösen Sie das Problem mit der internen Oracle-Funktion INSTR().
INSTR in MySQL (nicht dasselbe wie in Oracle) INSTR(Zeichenfolge,Teilzeichenfolge) Gibt die Position des ersten Vorkommens von substr in der Zeichenfolge str zurück. Dies ist identisch mit der Zwei-Argument-Form von LOCATE(), außer dass die Reihenfolge der Argumente umgekehrt ist. INSTR(Feldname, Zeichenfolge) Diese Funktion gibt die Position einer Zeichenfolge im Inhalt eines Felds zurück. Wenn die Zeichenfolge nicht gefunden wird, gibt sie 0 zurück, andernfalls gibt sie die Position zurück (beginnend bei 1).
Später habe ich versucht, das SQL-Statement zur Abfrage einer Tabelle in mehrere SQL-Statements aufzuteilen, diese gleichzeitig auf dem Server auszuführen und die Ergebnisse anschließend zusammenzuführen. Leider sind meine Kenntnisse zu gering, sodass die Umsetzung nicht so gut ist. Ich habe auch versucht, einen Volltextindex zu erstellen, aber die Datenbank hat dies nicht zugelassen. Schließlich ging die Nachfrageseite einen Kompromiss ein und übernahm den Index im Format Like Keyword% Wenn mir jemand einen Tipp zur Lösung der unscharfen Like-Abfrage geben könnte, wäre ich sehr dankbar! Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Die Scroll-Ansicht des WeChat-Applets realisiert einen Links-Rechts-Verknüpfungseffekt
Verwenden des Docker-Befehls „run“ docker run -d ...
Inhaltsverzeichnis Überblick Front-End-Wissenssys...
Inhaltsverzeichnis 1. Was ist dynamische Typisier...
Heute werde ich Ihnen einen Laufschrifteffekt zei...
Der spezifische Code für die Verwendung von jQuer...
Zusammenfassung: Ob bei der Arbeit oder im Vorste...
Effektanzeige Die eingebaute Boot-Oberfläche ist ...
brauchen Wenn Sie ein Feld abfragen, müssen Sie e...
In diesem Artikel wird der spezifische Code für J...
MySQL-Versionen werden in Enterprise Edition und ...
Zelle -- der Inhalt der Tabelle Zellenrand (Tabell...
1. Exportieren Sie die Datenbank mit dem Befehl m...
In diesem Artikelbeispiel wird der spezifische Co...
Vor Kurzem hat Oracle die öffentliche Verfügbarke...
Systemversion [root@ ~]# cat /etc/redhat-release ...