1

以下のようなクエリがあります

select 
id,name,baseid,member_card_type,membercard_num,last_draw,counter 
from details_dest
where datediff(curdate(),basedate)<100;

私はそれについて説明を使用しましたが、basedate に基づくインデックスを使用していることがわかりました。date_diff が問題だと思います

関数なしでそれを実行する他の方法があるかどうか私に提案してください

パフォーマンスに応じて、datediff() と to_days() のどちらが優れているか教えてください

私はmysql 5.5を使用しています

4

1 に答える 1

6

次のクエリをお勧めします。

select 
id,name,baseid,member_card_type,membercard_num,last_draw,counter 
from details_dest
where basedate > (curdate() - INTERVAL 100 DAY);
于 2013-03-30T14:56:35.993 に答える