MYSQL查詢語句優化

1、日期查詢優化函數

在MYSQL中速度最慢的不是in查詢,而是date_format以及FROM_UNIXTIME兩個函數的日期時間轉換,執行時間可能超過兩秒,形成網站巨卡post

用PHP的函數代替MYSQL的函數來完成將會大大的縮減時間優化


今日:FROM_UNIXTIME(lastplaytime,"%Y-%m-%d")=FROM_UNIXTIME(now(),"%Y-%m-%d")網站

第一次優化:FROM_UNIXTIME(lastplaytime,"%Y-%m-%d")="'.date('Y-m-d').'"'orm

最終優化:lastplaytime>='.strtotime(date('Y-m-d'))ast

時間戳大於今天凌晨的時間戳就是本日的
form


本週:FROM_UNIXTIME(posttime,"%Y")="'.date('Y').'" and FROM_UNIXTIME(posttime,"%U")=FROM_UNIXTIME(now(),"%U")'date

優化後:posttime>='.strtotime(date('Y-m-d',(time()-(date('N')-1)*86400))))im

時間戳大於本週一的時間戳就表示是本週的
時間戳


本月:date_format(FROM_UNIXTIME(posttime),"%Y-%m")="'.date('Y-m').'"

優化後:posttime>'.strtotime(date('Y-m-01'))

時間戳大於本月第一天的時間戳就表示是本月的

相關文章
相關標籤/搜索