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'))
時間戳大於本月第一天的時間戳就表示是本月的