brakuje indeksu. Spróbuj użyć EXPLAIN do przeanalizowania swojego zapytania, to ci bardzo pomoże.
Rozwiązanie jest proste, oto jest:http://sqlfiddle.com/#! 2/56 grudnia/1/0
Musisz dodać indeks, który zawiera kolumny użyte w instrukcji where, w kolejności ich użycia:
KEY `night_of_2` (`night_of`,`student_id`,`check_class`)
Musisz także wymusić użycie indeksu przy łączeniu, ponieważ dołączasz tabelę do siebie:
JOIN checks checks2
FORCE INDEX ( night_of_2 ) ON ( checks1.night_of =checks2.night_of )
(jeśli istnieje lepszy sposób, chciałbym o tym wiedzieć) :)
Pozdrawiam,