溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql按時(shí)間查詢優(yōu)化的方法

發(fā)布時(shí)間:2020-12-16 09:41:14 來(lái)源:億速云 閱讀:1255 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

小編給大家分享一下mysql按時(shí)間查詢優(yōu)化的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

mysql按時(shí)間查詢優(yōu)化的方法:1、【register_time】字段是datetime類型,轉(zhuǎn)換為日期再匹配,需要查詢出所有行進(jìn)行過(guò)濾;2、可以利用在【register_time】字段上建立索引,查詢極快。

mysql按時(shí)間查詢優(yōu)化的方法:

例如查詢昨日新注冊(cè)用戶,寫(xiě)法有如下兩種:

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類型,轉(zhuǎn)換為日期再匹配,需要查詢出所有行進(jìn)行過(guò)濾。而第二種寫(xiě)法,可以利用在register_time字段上建立索引,查詢極快!

附上日期轉(zhuǎn)換函數(shù)

DECLARE yt varchar(10); #昨天
DECLARE yt_bt varchar(19); #昨天開(kāi)始時(shí)間
DECLARE yt_et varchar(19); #昨天結(jié)束時(shí)間
#設(shè)置變量  
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');

看完了這篇文章,相信你對(duì)mysql按時(shí)間查詢優(yōu)化的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI