आप एक अनुक्रमणिका खो रहे हैं। अपनी क्वेरी का विश्लेषण करने के लिए EXPLAIN का उपयोग करने का प्रयास करें, इससे आपको बहुत मदद मिलेगी।
समाधान सरल है, यहाँ यह है:http://sqlfiddle.com/#! 2/56deb/1/0
आपको एक इंडेक्स जोड़ने की जरूरत है जिसमें उस स्टेटमेंट में उपयोग किए गए कॉलम शामिल हों, ताकि उनका उपयोग किया जा सके:
KEY `night_of_2` (`night_of`,`student_id`,`check_class`)
इसके अलावा, आपको शामिल होने पर अनुक्रमणिका के उपयोग को बाध्य करने की आवश्यकता है, क्योंकि आप स्वयं तालिका में शामिल हो रहे हैं:
JOIN checks checks2
फोर्स इंडेक्स (night_of_2 ) ON ( check1.night_of =check2.night_of )
(यदि कोई बेहतर तरीका है तो मैं इसके बारे में जानना चाहूंगा) :)
सादर,