Heim >Datenbank >MySQL-Tutorial >Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

coldplay.xixi
coldplay.xixiOriginal
2020-10-09 11:41:013006Durchsuche

MySQL-Unterabfrage-Effizienz: Die Effizienz der Unterabfrage [SELECT id,`name` FROM customer where id IN(select DISTINCT(customerid) from searchaccount] hat die zehnfache Auswirkung.

Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

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)

Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

Ergebnis:

Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

Unterverwendung:

explain 
SELECT id,`name` FROM customer where id IN(select DISTINCT(customerid) from searchaccount WHERE kfuid=126 AND iskf=1) LIMIT 20

Ergebnis:

Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

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

Wie effizient ist die Verwendung von Unterabfragen durch MySQL?

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!

Stellungnahme:
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
Vorheriger Artikel:Was bedeutet MySQL-Proxy?Nächster Artikel:Was bedeutet MySQL-Proxy?