:: DEVELOPER ZONE
DISTINCT wird für alle Spalten in GROUP BY umgewandelt,
DISTINCT in Kombination mit ORDER BY benötigt in vielen
Fällen ebenfalls eine temporäre Tabelle.
Wenn LIMIT # mit DISTINCT kombiniert wird, hält MySQL an,
sobald er # eindeutige Zeilen findet.
Wenn Sie nicht Spalten aus allen benutzten Tabellen verwenden, hält MySQL mit dem Scannen der nicht benutzten Tabellen an, sobald er die erste Übereinstimmung gefunden hat.
SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a;
Im Beispiel wird angenommen, dass t1 vor t2 benutzt wird (überprüfen Sie
das mit EXPLAIN). In diesem Fall hört MySQL auf, von t2 zu lesen
(für diese bestimmte Zeile in t1), sobald die erste Zeile in t2 gefunden
wurde.
© 1995-2005 MySQL AB. All rights reserved.
