Mysql根據時間查詢日期的優化技巧

2022-09-25 13:21:14 字數 790 閱讀 6042

例如查詢昨日新註冊使用者,寫法有如下兩種:

explain

select vusvo* 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 2vusvo3: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(d -1 day),'%y-%m-%d 23:59:59');

總結本文標題: mysql根據時間查詢日期的優化技巧

本文位址:

MYSQL根據日期查詢

風蕭蕭兮易水寒,壯士一去兮不復還 總結一下mysql的根據日期查詢資料和在日期區間查詢資料.首先,看資料表和表結構 建表語句 create tabledatetest idint 11 not null auto increment,brand namevarchar 100 default nul...

MySQL根據日期查詢

1 查詢當天的資料 select from 表名 where to days 時間字段 to days now 2 查詢當周的資料 select from 表名 where yearweek date format 時間字段,y m d yearweek now 3 查詢當月的資料 select f...

mysql根據時間範圍查詢

select from bank statistics where day time between 2018 06 01 and 2018 06 10 根據兩端範圍查詢 select from bank statistics where day time 2018 05 24 查詢某一天的 sel...