我使用以下查询
SELECT qTermine.REISENR,
qTermine.REISEVON,
qTermine.REISEBIS,
MIN(qPreise.PREIS) AS PREIS
FROM qTermine,
qPreise
WHERE qPreise.REISENR = qTermine.REISENR
AND qPreise.PROVKLASSE = 1
AND qPreise.VERFUEGBAR <> 0
GROUP BY qTermine.REISENR,
qTermine.REISEVON,
qTermine.REISEBIS
我只想选择价格最低的那些行。
可以或我们可以对其进行优化吗?
答案 0 :(得分:2)
查询本身很好。对于这个问题来说很难得到,就像大多数用途一样,你写的很好。您目前是否遇到性能问题,或者此查询是否执行了极长的时间?或者你是否只是谨慎并希望避免引入一个大瓶颈?如果是后者,我认为你不必担心;再次,在大多数用途中,这很好。
确保两个表和REISENR
上的qPreise.PREIS
都有索引。至于PROVKLASSE
和VERFUEGBAR
我觉得如果你要添加它们(你可以在你的执行计划中检查),它们对于实际上永远不会被使用的索引是不够独特的,但是没有亲密地了解你的数据就很难说清楚。
答案 1 :(得分:0)
你的查询是好的,如果你有“qPreise.PREIS”索引,你可以有更好的表现