当前位置: 移动技术网 > IT编程>数据库>Mysql > Mysql根据时间查询日期的优化技巧

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

2019年05月30日  | 移动技术网IT编程  | 我要评论
例如查询昨日新注册用户,写法有如下两种: explain select * from chess_user u where date_format(u.regi

例如查询昨日新注册用户,写法有如下两种:

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字段上建立索引,查询极快!

附上日期转换函数

 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根据时间查询日期的优化技巧,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网