按时间划分的Mysql查询优化方法:1。[register_time]字段是当datetime类型转换为date然后匹配时,需要查询所有行进行过滤;2.您可以利用在[register_time]字段上建立的索引来快速查询。


(资料图片仅供参考)

本教程操作环境:windows7系统,MySQL版本mysql8.0.22,thinkpad t480电脑。

更多免费学习推荐:mysql教程(视频)

按时间划分的Mysql查询优化方法:

例如,有两种方法可以查询昨天新注册的用户:

解释

从chess_user u中选择*其中DATE_FORMAT(u.register_time)," % Y-% m-% d ")=" 2018-01-25 ";解释

从chess_user u中选择*其中u . register _ time BETY " 2018-01-25 00:003:00 "和" 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(现在,INTERVAL -1天)," % Y-% m-% d ");

SET yt_bt=DATE_FORMAT(DATE_ADD(现在,INTERVAL -1天)," % Y-% m-% d 00:00:00 ");

SET yt_et=DATE_FORMAT(DATE_ADD(现在,INTERVAL -1天)," % Y-% m-% d 23:59:59 ");相关免费推荐:编程视频课程

以上就是mysql如何按时间查询和优化的细节!

来源:php中文网站

推荐内容