Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ältester Eintrag - Summieren (https://www.delphipraxis.net/166649-aeltester-eintrag-summieren.html)

jobo 23. Feb 2012 12:02

AW: ältester Eintrag - Summieren
 
Ich bin kein mySQL Spezi, aber vielleicht hilft es dem Optimizer, doch etwas genauer vorzugehen.
Du könntest das "fehlende" Group by ergänzen.
Was sagt denn der Ausführungsplan? Deine "Primary" Aussage habe ich vlt. nicht verstanden. Du meinst die äußere Abfrage?
Wieviel Sätze würde das innere Select allein ergeben? Oder der Rechnungsschnitt pro Kunde?

(Vielleicht solltest Du auch überhaupt dieses Verhalten abschalten, das das fehlende Group ermöglicht, aber das bedarf natürlich intensiver Tests )

Iwo Asnet 23. Feb 2012 12:48

AW: ältester Eintrag - Summieren
 
Habe mal eben das fehlende "Group by" in der Query eingefügt.

shmia 23. Feb 2012 17:18

AW: ältester Eintrag - Summieren
 
Hat deine Kundentabelle kein Datumsfeld in dem der Zeitpunkt der Anlage vermerkt ist?
Dann bräuchte man nur eine Abfrage über die Kundentabelle machen und könnte die Rechnungen unberücksichtigt lassen.
Es könnte zwar Kunden geben, die bestellen und dann stornieren aber
für die Frage "wie viele Neukunden pro Jahr" wäre das aber ausreichend genau.

jobo 23. Feb 2012 18:04

AW: ältester Eintrag - Summieren
 
Die Abfrage funktioniert ja. Außerdem können Zeitpunkt der Anlage und der ersten Rechnungsstellung leicht um ein paar Wochen differieren. Die gewünschte Abfrage dürfte außerdem nur wenige Sekunden dauern, wenn's kein 486er ist.

handson 24. Feb 2012 07:56

AW: ältester Eintrag - Summieren
 
Moin!

Mit der PRIMARY Query meine ich die Haupt-Query, die die Sub-Querys in der FROM-Anweisung beinhalten.

@DaddyH: Deine Anweisung hat funktioniert, allerdings hat die Abfrage bei 1 Millionen Datensätzen ca. 2-3 min. gedauert.

@Iwo: Bei dir hat es auch geklappt, allerdings brauchte diese Abfrage nur wenige Sekunden. Das liegt wohl an der Subquery. Es ist nämlich eine weniger als bei DaddyH.

Vielen Dank an alle für die schnelle und kompetente Hilfe! :-D

Gruß,
Stephan


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz