Hallo,
<br>
<br>angenommen man hat eine Tabelle Rechnungen (Kopfdaten) und RechnungsPositionen (Daten der einzelnen positionen) und nun sollen alle Rechnungen und deren Rechnungsbetrag ausgegeben werden. Welches SQL Statement wäre schneller, schöner, besser ...:
<br>
<br>Select Rechnungen.ID, Sum(RechnungsPositionen.Preis) as RechnungsSumme <br>From Rechnungen Join RechnungsPositionen On Rechnungen.ID = RechnungsPositionen.RechID
<br>Group By
<br>Rechnungen.ID
<br>
<br>Oder:
<br>
<br>Select Rechnungen.ID, (Select Sum(x.Preis) From RechnungsPositionen x where x.RechID = Rechnungen.ID) as RechnungsSumme From Rechnungen
<br>
<br>Meiner Meinung nach ist das SubSelect langsamer, aber dafür ist man nicht so eingeschränkt wie bei einem Group By.
<br>
<br>Was meinen Andere dazu?
<br>
<br>Gibt es Bücher oder Links, die sich überwiegend mit dem Thema SQL und Performance befassen?
<br>
<br>Danke!
<br>
<br>mfg
<br>PS
<br>
<br>angenommen man hat eine Tabelle Rechnungen (Kopfdaten) und RechnungsPositionen (Daten der einzelnen positionen) und nun sollen alle Rechnungen und deren Rechnungsbetrag ausgegeben werden. Welches SQL Statement wäre schneller, schöner, besser ...:
<br>
<br>Select Rechnungen.ID, Sum(RechnungsPositionen.Preis) as RechnungsSumme <br>From Rechnungen Join RechnungsPositionen On Rechnungen.ID = RechnungsPositionen.RechID
<br>Group By
<br>Rechnungen.ID
<br>
<br>Oder:
<br>
<br>Select Rechnungen.ID, (Select Sum(x.Preis) From RechnungsPositionen x where x.RechID = Rechnungen.ID) as RechnungsSumme From Rechnungen
<br>
<br>Meiner Meinung nach ist das SubSelect langsamer, aber dafür ist man nicht so eingeschränkt wie bei einem Group By.
<br>
<br>Was meinen Andere dazu?
<br>
<br>Gibt es Bücher oder Links, die sich überwiegend mit dem Thema SQL und Performance befassen?
<br>
<br>Danke!
<br>
<br>mfg
<br>PS
Comment