欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-12 12:24:10
例如查询昨日新注册用户,写法有如下两种: 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字段上建立索引,查询极快!

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