2016-04-12 4 views
0

ich eine lange Zeit damit verbracht habe versucht, herauszufinden, warum diese Abfrage meinem Server tötet:Abfrage unter 1781s -

# Query_time: 1781.559941 Lock_time: 0.000060 Rows_sent: 0 Rows_examined: 7576453128 
SET timestamp=1460479284; 
SELECT r.user 
FROM questions q, results r 
WHERE r.user = 0 
AND r.user=q.user 
GROUP BY q.user 
LIMIT 1; 

Es gibt 9.891.888 Aufzeichnungen in results und vielleicht Aufzeichnungen in questions.

Meiner Meinung nach ergibt das keinen Sinn.

Ich habe Indizes auf user in beiden Tabellen eingerichtet.

+0

Verwenden Sie "on" beim Verbinden der beiden Tabellen und überprüfen Sie die Ausführungszeit der Abfrage –

+0

Wie viel Zeit haben Sie also mit EXPLAIN für diese Abfrage verbracht, um zu sehen, wie sie von MySQL ausgeführt wird? –

+0

Leistungsfragen sollten "EXPLAIN ANALYSE" und einige Informationen über Tabellengröße, Index, aktuelle Zeitleistung, Wunschzeit usw. enthalten. "Langsam" ist ein relativer Begriff und wir brauchen einen echten Vergleichswert. [** MySQL **] (http://dba.stackexchange.com/questions/15371/how-do-i-get-the-execution-plan-for-a-view) –

Antwort

1

Was ist diese Abfrage genau, wenn Sie nur r.user holen? Sieht für mich so aus, als könntest du mit einem INNER JOIN die gleichen Ergebnisse erzielen.

0

Ich würde das versuchen ... aber Sie sollten versuchen, den Plan zu erklären. Ich denke, die Gruppe durch könnte eine Verlangsamung verursachen, also nahm ich das heraus und setzte die normale Joinsyntax ein. Auch könnte an der Gesundheit Ihres Index auf dem großen Tisch aussehen wollen und sicherstellen, dass es nicht fragmentiert ist (versuchen Sie es wieder aufzubauen)

SELECT r.user 
FROM questions q inner join results r on r.user=q.user 
WHERE r.user = 0 
LIMIT 1; 

HTH

0

Diese Abfrage:

SELECT `user` FROM `questions` 
INNER JOIN `results` 
ON `user`.`user`=`results`.`user` 
WHERE `user`.`user` = 0 
GROUP BY `user`.`user` 
LIMIT 1; 

Wenn nicht funktionieren, können Sie schreiben Ihre Tabelle für die Tabelle erstellen Benutzer und Fragen?

Verwandte Themen