mysql中使用datediff()优化查询
我有一个问题如下mysql中使用datediff()优化查询,mysql,optimization,query-optimization,database-administration,Mysql,Optimization,Query Optimization,Database Administration,我有一个问题如下 select id,name,baseid,member_card_type,membercard_num,last_draw,counter from details_dest where datediff(curdate(),basedate)<100; 选择 id、姓名、基本id、会员卡类型、会员卡编号、最后一次提款、计数器 从细节到目的地 其中datediff(curdate(),basedate)我建议使用以下查询: select id,name,bas
select
id,name,baseid,member_card_type,membercard_num,last_draw,counter
from details_dest
where datediff(curdate(),basedate)<100;
选择
id、姓名、基本id、会员卡类型、会员卡编号、最后一次提款、计数器
从细节到目的地
其中datediff(curdate(),basedate)我建议使用以下查询:
select
id,name,baseid,member_card_type,membercard_num,last_draw,counter
from details_dest
where basedate > (curdate() - INTERVAL 100 DAY);
我建议提出以下问题:
select
id,name,baseid,member_card_type,membercard_num,last_draw,counter
from details_dest
where basedate > (curdate() - INTERVAL 100 DAY);
感谢它工作得又好又快…..请告诉我为什么datadiff()函数很慢,还有其他函数像datediff()会降低性能…..我认为您的查询很慢的原因不是datediff,而是datediff的使用方式datediff(curdate(),basedate)(curdate()-间隔100天)
::RHS计算一次,因为它是一个常量,并且由于basedate是一个索引列,所以只处理满足条件的行,因此速度更快。感谢它工作良好且快速…..请告诉我为什么datadiff()函数的速度很慢,还有其他任何函数,如datediff()会降低性能……我认为您的查询速度慢的原因不是datediff,而是datediff的使用方式datediff(curdate(),basedate)(curdate()-间隔100天)
::RHS计算一次,因为它是一个常量,并且basedate是一个索引列,所以只处理满足条件的行,因此速度更快。