使用CURDATE()
函数
SELECT * FROM table_name WHERE DATE(date_column) = CURDATE();
利用BETWEEN
与时间范围(避免函数索引失效)
SELECT * FROM table_name WHERE date_column BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY);
索引优化建议
date_column
字段创建索引以加速查询: ALTER TABLE table_name ADD INDEX (date_column);
DATE(date_column)
),可能导致索引失效。 按小时/分钟细分查询(适用于高频数据)
SELECT * FROM table_name WHERE date_column >= NOW() - INTERVAL 1 HOUR; -- 查询最近1小时
性能对比
CURDATE()
vs NOW()
:CURDATE()
仅提取日期部分,效率更高。 BETWEEN
)通常比函数调用(如DATE()
)更快。 注:以上方法基于MySQL 8.0+环境验证,适用于2025年主流版本。
本文由 驹玛丽 于2025-07-31发表在【云服务器提供商】,文中图片由(驹玛丽)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/494571.html
发表评论