যদি আপনার অনুসন্ধানটি বেশ কয়েক বছরের বেশি হয়ে যায়, এবং আপনি এখনও মাসিক গোষ্ঠী করতে চান তবে আমি পরামর্শ দিই:
সংস্করণ # 1:
SELECT SQL_NO_CACHE YEAR(record_date), MONTH(record_date), COUNT(*)
FROM stats
GROUP BY DATE_FORMAT(record_date, '%Y%m')
সংস্করণ # 2 (আরও দক্ষ) :
SELECT SQL_NO_CACHE YEAR(record_date), MONTH(record_date), COUNT(*)
FROM stats
GROUP BY YEAR(record_date)*100 + MONTH(record_date)
আমি এই সংস্করণগুলি বড় টেবিলের সাথে 1,357,918 টি সারি দিয়ে তুলনা করেছি (InnoDB) এবং দ্বিতীয় সংস্করণে আরও ভাল ফলাফল রয়েছে বলে মনে হয়।
version1 (10, executes এর গড়) : 1,404 সেকেন্ড
version2 (10, executes এর গড়) : 0,780 সেকেন্ড
( SQL_NO_CACHE
মাইএসকিউএল থেকে ক্যোচিং থেকে ক্যোয়ারিতে আটকাতে চাবি যুক্ত করা হয়েছে))
GROUP BY record_date.MONTH
আপনার প্রথম কোড স্নিপেটে থাকার কথা?