Heim > Datenbank > MySQL-Tutorial > Hauptteil

Die MySQL-MySQL-Abfrage mit zwei Tabellenzuordnungen ist langsam

WBOY
Freigeben: 2016-08-20 08:47:56
Original
1783 Leute haben es durchsucht

MySQL

Es gibt zwei Tabellen A und B.
Tabelle A enthält die Protokolle aller Clients, die Anzahl beträgt 2 Millionen
Tabelle B enthält die Clientdetails, die Anzahl beträgt 20.000
Jetzt müssen wir die Protokolle von Clients herausfiltern, die bestimmte Bedingungen erfüllen. Die SQL lautet wie folgt:

<code>SELECT A.*FROM `VIEW_DATA.basic_LOG.20160523` AINNER JOIN (SELECT AGT_ID FROM VIEW_AGENT where AGT_GRP_ID in (999)) B ON A.`BAS_AGT_ID` = B.AGT_IDORDER BY `BAS_TIME` DESC, `ID` DESC LIMIT 7;</code>
Nach dem Login kopieren

1 SIMPLE basic_log index IX_BASIC_LOG_BAS_AGT_ID IX_BASIC_LOG_BAS_TIME_ID 10 7 100 Using where
1 SIMPLE a eq_ref PRIMARY PRIMARY 4 ocular3_data.20160523 .basic_log.BAS_AGT_ID 1 100
1 SIMPLE b eq_ref PRIMARY PRIMARY 4 ocular3.a.AGT_GRP_ID 1 100 Using where; Using index

Antworten Inhalt:

1. Ändern Sie AGT_GRP_ID in (999) in AGT_GRP_ID in =999;
2. Erstellen Sie einen Index für die erforderlichen Felder

Referenz von:
So optimieren Sie verschachtelte Joins in MySQL http://www.data.5helpyou.com/article272.html

Schreiben Sie die beiden Tabellen in umgekehrter Reihenfolge, ändern Sie dann den internen Link in einen externen Link und ändern Sie AGT_GRP_ID in (999) in AGT_GRP_ID in =999;

SELECT A.*,B.AGT_ID
FROM VIEW_DATA.basic_LOG.20160523 A ,VIEW_AGENT B wobei B.AGT_GRP_ID=999 und A.BAS_AGT_ID = B.AGT_ID
ORDER BY A.BAS_TIME DESC, A.ID DESC LIMIT 7; Versuchen Sie es so zu ändern

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage