select as1.col,as1.col2,as1.col3 from
analytics.adjusted_sale_velocity
where
date(as1.created_datetime)=(
select
max(
date(created_datetime)
)
from
analytics.adjusted_sale_velocity
)
一旦 WHERE 子句中的列用函数(在您的情况下为 date)包装,MySQL 优化器将不会使用索引。
您的查询可能会略有不同:
select as1.col,
as1.col2,
as1.col3
from adjusted_sale_velocity a
inner join ( select max(created_datetime) as created_datetime
from adjusted_sale_velocity
) as max_dt on left(a.created_datetime,10) = left(max_dt.created_datetime,10) ;
一旦 WHERE 子句中的列用函数(在您的情况下为
date
)包装,MySQL 优化器将不会使用索引。您的查询可能会略有不同:
尝试让我知道它是否更快。