Anmelden

View Full Version : SQL - Mehrere Sätze in einen Satz mit mehreren Spalten



Seiten : 1 [2]

BenderD
11-09-15, 11:01
Die Query-Engine ist zwar besser geworden und erkennt und konvertiert inzwischen meist solche Konsturkte, ... aber eben nur meist!
Trotzdem ... bei 30 unnötigen Joins sind mindestes 29 zuviel!

Birgitta

... bezüglich Performance hilft nur messen, alles andere ist reine Kaffeesatzleserei!

holgerscherer
11-09-15, 12:23
... bezüglich Performance hilft nur messen, alles andere ist reine Kaffeesatzleserei!

und dann nicht vergessen, dass sich der Kram je nach CPU-Typ (Power5,6,7,8) und Ressourcen-Ausstattung noch anders verhalten kann als gedacht :)

Pikachu
11-09-15, 12:31
Und nach dem Einspielen von PTFs ...
Und nach Erstellen weiterer Zugriffspfade ...


und dann nicht vergessen, dass sich der Kram je nach CPU-Typ (Power5,6,7,8) und Ressourcen-Ausstattung noch anders verhalten kann als gedacht :)

andreaspr@aon.at
11-09-15, 12:47
... bezüglich Performance hilft nur messen, alles andere ist reine Kaffeesatzleserei!

Sicher kann die DB immer andere Entscheidungen treffen als man sich das vorstellt, da viele Faktoren einfließen die oft nicht berücksichtigt werden.

Dass aber 30 subselects langsamer sind als 1 kann man in der Regel schon nachvollziehen.
In diesem Fall wird es vielleicht vernachlässigbar sein.
Merken tut man dies erst wenn es sich um eine oder mehrere wirklich große Tabellen handelt. (Aber nicht nur dann!)
Da kann es schnell mal passieren, dass Queries Minuten bis Stunden dauern.
Klar, kann in vielen Fällen mit Indices kompensiert werden, aber auch nicht immer.
Und genau da fängt das Tuning an und da gehören auch die Anzahl der Tabellen-Zugriffe beachtet.

Genau so habe ich z.B. schon viele Abfragen die bis zu 20 min dauerten wieder in den Millisec. bereich gebracht.