加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql根据时间查询日期的优化技巧

发布时间:2022-03-08 21:17:54 所属栏目:MySql教程 来源:互联网
导读:例如查询昨日新注册用户,写法有如下两种: EXPLAIN select * from chess_user u where DATE_FORMAT(u.register_time,%Y-%m-%d)=2018-01-25; EXPLAIN select * from chess_user u where u.register_time BETWEEN 2018-01-25 00:00:00 and 2018-01-25 23:59
        例如查询昨日新注册用户,写法有如下两种:
 
EXPLAIN
select * from chess_user u where DATE_FORMAT(u.register_time,'%Y-%m-%d')='2018-01-25';
EXPLAIN
select * from chess_user u where u.register_time BETWEEN '2018-01-25 00:00:00' and '2018-01-25 23:59:59';
register_time字段是datetime类型,转换为日期再匹配,需要查询出所有行进行过滤。而第二种写法,可以利用在register_time字段上建立索引,查询极快!
 Mysql根据时间查询日期的优化技巧
      Mysql根据时间查询日期的优化技巧Mysql根据时间查询日期的优化技巧
 
      附上日期转换函数
 
 DECLARE yt varchar(10); #昨天
 DECLARE yt_bt varchar(19); #昨天开始时间
 DECLARE yt_et varchar(19); #昨天结束时间
 #设置变量  
 SET yt=DATE_FORMAT(DATE_ADD(now(),INTERVAL -1 day),'%Y-%m-%d');
 SET yt_bt=DATE_FORMAT(DATE_ADD(now(),INTERVAL -1 day),'%Y-%m-%d 00:00:00');
 SET yt_et=DATE_FORMAT(DATE_ADD(now(),INTERVAL -1 day),'%Y-%m-%d 23:59:59');
总结
 
      以上所述是小编给大家介绍的Mysql根据时间查询日期的优化技巧,希望对大家有所帮助。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读