我有这个非常慢的查询,不知道问题是什么。我尝试添加多个 where 子句但没有效果。执行时间远远超过 5 分钟。
目标是选择最后一次使用 LM_MAT 中的产品。这是由种群突变决定的;LMH_MAT。LMH_MAT 确实有 160K 记录,但从 lmh_mat 中选择 * 只需要 16 毫秒。
我已经从这个站点确定了这样做的解决方案。
删除第二个子查询(选择顶部 1...)确实使执行时间不到 6 秒,put 删除了整个目的:选择最后一次使用产品的时间。
平台:Sybase Advantage Data Architect。
我希望有一个人可以帮助我!
亲切的问候,卢卡斯
查询:
select
lm_matn,
LM_OMSCH,
lm_hoev,
lm_minh,
lm_preh,
lm_datin,
XDate
from lm_mat A
left join (select lmh_matn, lmh_id, cast(lmh_date as sql_date) as XDate
from lmh_mat) F
on A.lm_matn = F.lmh_matn
AND F.lmh_id in
(select top 1 FF.lmh_id
from lmh_mat FF
where FF.lmh_matn=A.lm_matn
order by FF.lmh_date desc)
group by
lm_matn,
LM_OMSCH,
lm_hoev,
lm_minh,
lm_preh,
lm_datin,
XDate