luti: welche Indices setzen?

Beitrag lesen

Hallo,

Ansonsten solltest Du meinen Ansatz aus dem Archiv auf Dein Problem anwenden können.

Danke, das hat jetzt wunderbar geklappt! Weiter unten der "längliche" Code (für die Nachwelt).

Die Query hat ohne Indices jetzt 4,5 Sekunden gedauert. Was für Indices würdest Du / würdet ihr denn setzten? Also über welche Spalten, meine ich. Damit wollte ich mich schon immer mal etwas näher befassen ... Aber eine Kurze Antwort wäre z.Zt. auch sehr hilfreich.

Bei einer "einfachen" Abfrage á la "SELECT ... where ID=" würde ich natürlich einfach die ID-Spalte indizieren. Aber im obigen Beispiel? Ein Index für über alle Spalten? Einen über lat+long, plus je einen pro CASE???

Dank & Gruß,
luti

Und hier noch die Abfrage:

SELECT latitude, longitude,  
  
# mittlere Durchschnittswerte  
AVG(CASE WHEN MONTH = 1 THEN tav ELSE NULL END) AS 01_tav,  
...  
AVG(CASE WHEN MONTH =12 THEN tav ELSE NULL END) AS 12_tav,  
  
# mittlere Maximalwerte  
AVG(CASE WHEN MONTH = 1 THEN tmax ELSE NULL END) AS 01_tmax,  
...  
AVG(CASE WHEN MONTH =12 THEN tmax ELSE NULL END) AS 12_tmax,  
  
# mittlere Minimalwerte  
AVG(CASE WHEN MONTH = 1 THEN tmin ELSE NULL END) AS 01_tmin,  
...  
AVG(CASE WHEN MONTH =12 THEN tmin ELSE NULL END) AS 12_tmin,  
  
# mittlere Niederschläge  
AVG(CASE WHEN MONTH = 1 THEN rrr ELSE NULL END) AS 01_rrr,  
...  
AVG(CASE WHEN MONTH =12 THEN rrr ELSE NULL END) AS 12_rrr  
  
FROM f2000to2008  
GROUP BY latitude, longitude  
ORDER BY latitude, longitude