Heim > Datenbank > MySQL-Tutorial > Wie kann man in MySQL effizient nach durch Kommas getrennten Werten suchen, ohne Tabellenbeziehungen zu verwenden?

Wie kann man in MySQL effizient nach durch Kommas getrennten Werten suchen, ohne Tabellenbeziehungen zu verwenden?

Patricia Arquette
Freigeben: 2024-12-25 01:06:14
Original
511 Leute haben es durchsucht

How to Efficiently Search Comma-Separated Values in MySQL Without Using Table Relationships?

Effiziente Suche nach durch Kommas getrennten Werten in der MySQL-Datenbank

Bei der Arbeit mit Datentabellen, die durch Kommas getrennte Werte enthalten, kann das Finden bestimmter Übereinstimmungen möglich sein eine herausfordernde Aufgabe sein. In diesem Fall haben Sie zwei Tabellen: „customers“ (mit E-Mail-Adressen) und „imap_emails“ (wobei das Feld „an“ durch Kommas getrennte E-Mail-Adressen enthält). Sie müssen effizient in der Tabelle imap_emails suchen, basierend auf E-Mail-Adressen aus der Kundentabelle.

Anstatt eine LIKE-Bedingung zu verwenden, können Sie die Funktion FIND_IN_SET nutzen, um eine gezieltere Suche durchzuführen. Mit dieser Funktion können Sie überprüfen, ob ein bestimmter Wert in einer durch Kommas getrennten Zeichenfolge gefunden wird.

Lösung:

Die folgende Abfrage zeigt, wie Sie FIND_IN_SET effizient verwenden können Suche:

SELECT *
FROM imap_emails
INNER JOIN customers
ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Nach dem Login kopieren

Diese Abfrage führt einen inneren Join zwischen den beiden Tabellen durch und vergleicht Zeilen, in denen die E-Mail-Adresse des Kunden vorhanden ist das durch Kommas getrennte Feld der Tabelle imap_emails. Durch die Verwendung von FIND_IN_SET anstelle von LIKE verbessern Sie die Sucheffizienz und vermeiden Fehlalarme.

Zusätzliche Überlegungen:

In Ihrer Frage haben Sie erwähnt, dass Sie keine Beziehungen zwischen verwenden können die Tische. Wenn Sie jedoch die Möglichkeit haben, eine Beziehung herzustellen (z. B. mithilfe von Fremdschlüsseln), würde dies die Datenintegrität und Leistung Ihrer Suchanfragen erheblich verbessern.

Das obige ist der detaillierte Inhalt vonWie kann man in MySQL effizient nach durch Kommas getrennten Werten suchen, ohne Tabellenbeziehungen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage