SQL优化查询

时间:2012-05-03 06:14:59

标签: sql sql-server

我使用以下查询

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 

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

可以或我们可以对其进行优化吗?

2 个答案:

答案 0 :(得分:2)

查询本身很好。对于这个问题来说很难得到,就像大多数用途一样,你写的很好。您目前是否遇到性能问题,或者此查询是否执行了极长的时间?或者你是否只是谨慎并希望避免引入一个大瓶颈?如果是后者,我认为你不必担心;再次,在大多数用途中,这很好。

确保两个表和REISENR上的qPreise.PREIS都有索引。至于PROVKLASSEVERFUEGBAR我觉得如果你要添加它们(你可以在你的执行计划中检查),它们对于实际上永远不会被使用的索引是不够独特的,但是没有亲密地了解你的数据就很难说清楚。

答案 1 :(得分:0)

你的查询是好的,如果你有“qPreise.PREIS”索引,你可以有更好的表现