Ihnen fehlt ein Index. Versuchen Sie, EXPLAIN zu verwenden, um Ihre Anfrage zu analysieren, es wird Ihnen sehr helfen.
Die Lösung ist einfach, hier ist sie:http://sqlfiddle.com/#! 2/56deb/1/0
Sie müssen einen Index hinzufügen, der die in der where-Anweisung verwendeten Spalten in der angegebenen Reihenfolge enthält:
KEY `night_of_2` (`night_of`,`student_id`,`check_class`)
Außerdem müssen Sie die Verwendung des Index für den Join erzwingen, da Sie die Tabelle mit sich selbst verbinden:
JOIN checks checks2
FORCE INDEX ( night_of_2 ) ON ( checks1.night_of =checks2.night_of )
(Wenn es einen besseren Weg gibt, würde ich es gerne wissen) :)
Grüße,