问题
I have a Query like below
select
id,name,baseid,member_card_type,membercard_num,last_draw,counter
from details_dest
where datediff(curdate(),basedate)<100;
i have used the explain on that and found it is using index which is on basedate and i think date_diff is the problem
so please suggest me is there any other way to execute it without any functions
and kindly tell me which is better datediff() or to_days() in according to performance
i am using mysql 5.5
回答1:
I would suggest the following query:
select
id,name,baseid,member_card_type,membercard_num,last_draw,counter
from details_dest
where basedate > (curdate() - INTERVAL 100 DAY);
来源:https://stackoverflow.com/questions/15719710/optimizing-query-with-datediff-in-mysql