Heim >Datenbank >MySQL-Tutorial >Wie effizient ist die Verwendung von Unterabfragen durch MySQL?
MySQL-Unterabfrage-Effizienz: Die Effizienz der Unterabfrage [SELECT id,`name` FROM customer where id IN(select DISTINCT(customerid) from searchaccount] hat die zehnfache Auswirkung.
MySQL-Unterabfrage Die endgültige Effizienzauswirkung
verwendet nur die ID:
explain SELECT * from customer where id in(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
Ergebnis:
Unterverwendung:
explain SELECT id,`name` FROM customer where id IN(select DISTINCT(customerid) from searchaccount WHERE kfuid=126 AND iskf=1) LIMIT 20
Ergebnis:
Ohne Unterabfrage ist der gleiche Effekt erreicht:
explain select DISTINCT(customerid) as id,c.name from searchaccount s LEFT JOIN customer c on s.customerid=c.id WHERE s.kfuid=126 AND s.iskf=1 limit 20
Die Effizienz ist zehnmal so groß
Verwandte kostenlose Lernempfehlungen: MySQL-Tutorial(Video)
Das obige ist der detaillierte Inhalt vonWie effizient ist die Verwendung von Unterabfragen durch MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!