• 技术文章 >数据库 >mysql教程

    mysql如何按时间查询优化

    coldplay.xixicoldplay.xixi2021-01-12 17:35:51原创1821

    mysql按时间查询优化的方法:1、【register_time】字段是datetime类型,转换为日期再匹配,需要查询出所有行进行过滤;2、可以利用在【register_time】字段上建立索引,查询极快。

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

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

    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: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如何按时间查询优化的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql 查询优化
    上一篇:mysql如何从ibd文件恢复数据 下一篇:mysql如何求时间段平均值
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• MySQL索引以及查询优化的详细介绍• MySQL 千万级大数据 SQL 查询优化技巧详解• oracle如何查询优化?• mysql中大数据进行查询优化注意什么
    1/1

    PHP中文网