1

我正在使用以下查询,

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 

我只想选择价格最低的那些行。

可以吗,或者我们可以优化它吗?

4

2 回答 2

2

查询本身很好。很难回答这个问题,因为对于大多数用途,你写的都很好。您当前是否遇到性能问题,或者此查询执行的时间是否过长?还是您只是谨慎并希望避免引入大瓶颈?如果是后者,我认为您不必担心;同样,在大多数用途中,这很好。

确保REISENR在两个表和qPreise.PREIS. 至于我有一种感觉PROVKLASSEVERFUEGBAR如果你要添加它们,它们的唯一性不足以让索引真正被使用(你可以在你的执行计划中检查),但如果不深入了解你的数据就很难说清楚。

于 2012-05-03T06:21:57.333 回答
0

您的查询很好,如果您在“qPreise.PREIS”上有索引,您可以获得更好的性能

于 2012-05-03T06:23:19.673 回答