PDA

View Full Version : Frage an die SQL-Experten: Performance bei View mit Group by



Seiten : 1 [2]

B.Hauser
10-06-14, 15:25
Das Problem liegt darin, dass Du Query verwendest!
Und Query ist NICHT SQL und wird bis einschließlich Release 7.1 von der alten Query Engine (CQE) verarbeitet.
Da helfen die ganzen neuen Indices mit und ohne WHERE-Bedingungen nichts.

Prüfe, ob das Query vielleicht durch QMQuery ersetzt werden kann. QMQuery basiert auf SQL und sollte von der neuen Query Engine (SQE) verarbeitet werden können und damit auch die neuen Indices nutzen können.

Birgitta

hs
13-06-14, 11:50
Naja, grundsätzlich bringen Index schon auch Performance bei Queries. Nur halt nicht in diesem speziellen Fall.
Hab das gleiche mit einem SQL probiert, das geht sehr flott vonstatten, d.h. der Index wird sicher verwendet.
Denke ich werde bedarfsweise einige Queries mit SQL ersetzen (wird eh alles aus einer Prozedur aufgerufen).

Gruß und nochmals Danke für die Unterstützung
HS

Fuerchau
13-06-14, 13:33
Als letzte Lösung:
Mach statt der View eine UDF, die per
select ....
order by ... Datum desc
fetch first 1 rows only

Genau diesen 1 Wert zurückgibt.

Du solltest allerdings nicht nach dem Ergebnis sortieren sonst hast du wieder das selbe Problem.
Die UDF kannst du dann überall an Stelle der View als Feld verwenden.

Ggf. klappt auch eine Procedure, die ein Resultset mit dem einen Satz zurückgibt, dann kannst du diese auch in Joins verwenden.

Da Joins je Satz ausgeführt werden könnte auch dieses performant sein.