Anda kehilangan indeks. Coba gunakan EXPLAIN untuk menganalisis kueri Anda, ini akan banyak membantu Anda.
Solusinya sederhana, ini dia:http://sqlfiddle.com/#! 2/56deb/1/0
Anda perlu menambahkan indeks yang menyertakan kolom yang digunakan dalam pernyataan where agar dapat digunakan:
KEY `night_of_2` (`night_of`,`student_id`,`check_class`)
Anda juga perlu memaksakan penggunaan indeks pada gabungan, karena Anda menggabungkan tabel ke dirinya sendiri:
JOIN checks checks2
FORCE INDEX ( night_of_2 ) AKTIF ( checks1.night_of =checks2.night_of )
(jika ada cara yang lebih baik saya ingin mengetahuinya) :)
Salam,