Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zeilen mit nicht eindeutigen Spaltenwerten in einer Datenbank effizient auswählen?
Auswählen von Zeilen mit nicht eindeutigen Spaltenwerten
Beim Arbeiten mit Daten kann es erforderlich sein, Zeilen abzurufen, in denen bestimmte Spaltenwerte nicht vorhanden sind unterscheidbar. In einer Tabelle mit E-Mail-Adressen kann es beispielsweise nützlich sein, doppelte E-Mail-Adressen in verschiedenen Kundendatensätzen zu identifizieren.
Die bereitgestellte Abfrage verwendet die Klauseln GROUP BY und HAVING, um Zeilen nach E-Mail-Adresse zu gruppieren und die vorkommenden zu identifizieren mehr als einmal. Es wurde jedoch berichtet, dass es Leistungsprobleme gibt.
Ein alternativer Ansatz besteht darin, eine IN-Klausel in Kombination mit einer Unterabfrage zu verwenden. Diese Methode wählt E-Mail-Adressen aus der Kundentabelle aus, die mehr als einmal vorkommen:
SELECT [EmailAddress], [CustomerName] FROM [Customers] WHERE [EmailAddress] IN (SELECT [EmailAddress] FROM [Customers] GROUP BY [EmailAddress] HAVING COUNT(*) > 1)
Diese Abfrageleistung ist im Allgemeinen schneller als die Verwendung der GROUP BY- und HAVING-Klauseln und sollte effektiv Zeilen mit doppelten E-Mail-Adressen zurückgeben.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen mit nicht eindeutigen Spaltenwerten in einer Datenbank effizient auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!