我正在运行下面的查询以基于同一个表内的日期字段检索唯一的最新结果。但是当这个表增长时,这个查询需要很多时间。任何改善这一点的建议都是值得欢迎的。查询运行时间过长
select
t2.*
from
(
select
(
select
id
from
ctc_pre_assets ti
where
ti.ctcassettag = t1.ctcassettag
order by
ti.createddate desc limit 1
) lid
from
(
select
distinct ctcassettag
from
ctc_pre_assets
) t1
) ro,
ctc_pre_assets t2
where
t2.id = ro.lid
order by
id
我们能够多次包含相同的行,但每行都有不同的时间戳。我的对象基于单个列,例如assettag我想用最新的时间戳检索每个assettag的单行。
请提供表格定义和EXPLAIN输出。 –
你有没有试过使用索引? – Dezigo
添加索引后就没事了,但仍然很慢。花费超过20秒 – Rajesh