从MySQL db获取月份记录的最佳/快速实践是什么?
之前,为了获取我当前使用的月份记录:
SELECT COUNT(*)
FROM `mytable`
WHERE `date` BETWEEN CAST(DATE_FORMAT(NOW() ,'%Y-%m-01') as DATE) AND LAST_DAY(NOW());
但是找到下一个解决方案:
SELECT COUNT(*)
FROM `mytable`
WHERE MONTH(calldate) = MONTH(CURDATE()) AND YEAR(calldate) = YEAR(CURDATE());
在我的真实基础中,两个请求都得到几乎相同的时间(),但这个"几乎"我很担心在基数约2500万条记录中。索引date
列。
任何人都可以提供建议吗?