Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SUM oder AVG in SQL Abfrage dauert viel zu lange warum?

Mitglied: samet22

samet22 (Level 1) - Jetzt verbinden

18.11.2016 um 07:58 Uhr, 1063 Aufrufe, 5 Kommentare

Hallo,

Ich hoffe ihr könnt mir bei dieser schweren Aufgabe helfen. Habe für ein Statistik Programm eine SQL Abfrage gebastelt welches über mehrere Tabellen geht. Im letzten Join beziehe ich eine Tabelle welche ich über eine Select selber erstelle:

Das Problem ist liegt genau bei SUM(c005) und AVG(c023). Wenn ich meine komplette abfrage so ausführe: LEFT JOIN (select C003 AS Artikelcharge, from t026 where mesoyear=1392 AND C000 Like 'L%' GROUP BY c003) etab ON etab.Artikelcharge = t026.c003. Dann dauert sie zwischen 15-22 Sekunden was noch okey ist da ich über 10 Millionen Datensätze abfrage.

Führe ich die Abfrage aber mit AVG und SUM druch (siehe oben): LEFT JOIN (select C003 AS Artikelcharge, SUM(c005) AS Summemenge, AVG(c023) AS Meinstpn from t026 where mesoyear=1392 AND C000 Like 'L%' GROUP BY c003) etab ON etab.Artikelcharge = t026.c003. Dann dauert die Abfrage 1 Minute und 20 sekunden!!!! WIESO? ich finde einfach keine Lösung!

Setze ich das Select alleine in einer eigenen Abfrage ab (nicht im Join) mit SUM und AVG dann dauert die Abfrage 0,5 Sekunden! WAS GENAU verursacht diese Wartezeit? finde einfach keine Lösung!

Kurze Anmerkung: Meine erste Abfrage liefert mir ca. 95.000 Zeilen und die Abfrage mit AVG und SUM liefert ca. 16.000 Zeilen.

Ich hoffe ihr könnt mir helfen. DANKE!
Mitglied: ukulele-7
18.11.2016 um 08:35 Uhr
Aus meiner Sicht ist dein Code recht unübersichtlich, vor allem diese (INNER) JOINs mit Subselect mache ich eigentlich nur, wenn es wie in deinem letzten Fall noch eine Berechnung gibt. Ob sich das auf die Performance auswirkt kann ich so nicht sagen, sieht aber wild aus.

Dazu kommt diese tolle Namensgebung für Tabellen und Spalten.

Welches SQL verwendest du? Normalerweise wird dir EXPLAIN bei der Suche nach Performance-Bremsen helfen und eventuell (je nach SQL) auch einen passenden Index vorschlagen. Ob diese Abfrage aber so wirklich sinnvoll ist kann man unmöglich anhand von Spalten sagen, deren Inhalt man nicht kennt.
Bitte warten ..
Mitglied: atze187
18.11.2016 um 09:32 Uhr
Hi,

wie @ukulele-7 sagt ist das weder übersichtlich noch für einen Außenstehenden nachzuvollziehen, was dort passiert. Dazu kommt es es unvollständig ist.

Wenn das eine T-SQL-Query ist, dann empfehle ich dir die Execution Plans der Query anzuschauen.

Gruß,
André
Bitte warten ..
Mitglied: Rudbert
18.11.2016 um 09:41 Uhr
Hi,


die Abfrage sieht ziemlich gekünstelt aus, da könnte man bestimmt was optimieren; ohne die Kenntnis der genauen Datenstruktur ist das aber hier pauschal nicht so zu beantworten.

Evtl. kannst du auch mit zusätzlichen Indizes die Abfrage beschleunigen.

Wo genau die Flaschenhälse sind liefert dir der execution plan wie schon erwähnt (http://stackoverflow.com/questions/7359702/how-do-i-obtain-a-query-exec ... für MSSQL, "EXPLAIN PLAN" für Oracle).


mfg
Bitte warten ..
Mitglied: samet22
18.11.2016 um 09:45 Uhr
Hallo Danke für eure Antworten

Also die Datenbank ist von einem ERP System somit will ich dort außer Selects nichts hinzufügen (auch keine Indexe) die Tabellen Bezeichnung ist somit vorgegeben.

Um meine Joins für euch einfacher zu gestalten:
Im letzten Join füge ich eine Tabelle hinzu welches ich mir durch eine Abfrage selber generiere. Und hier habe ich festgestellt, dass durch die funktionen SUM und AVG die Abfrage 1 Minute länger dauert - statt 20 sekunden dauert sie 1 Minute und 20 Sekunden.

Für ich in einer eigenen Abfrage nur select C003 AS Artikelcharge, SUM(c005) AS Summemenge, AVG(c023) AS Meinstpn from t026 where mesoyear=1392 AND C000 Like 'L%' GROUP BY c003 durch dann dauert dies 0,5 Sekunden.
Bitte warten ..
Mitglied: ukulele-7
18.11.2016, aktualisiert um 10:50 Uhr
Unter (MSSQL, Postgre, Oracle) könntest du eventuell mit WITH arbeiten um deine zu joinende Tabelle erstmal anzulegen. Etwa so:
Könnte eventuell die Abfrage beschleunigen, könnte...
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SQL Auswertung 2 Joins und SUM
Frage von c64b311ee9Datenbanken

Hallo liebe Community, ich bräuchte mal wieder eure Hilfe ;) ich habe folgendes Problem: Ich würde gerne aus 3 ...

Exchange Server

Anmeldung an Dömäne dauert sehr Lang ca. 5 min

Frage von TgimminiExchange Server5 Kommentare

Hallo Zusammen, Ich bin hier in diesem Forum Neu und hoffe von euch eine Lösung für mein Problem zu ...

Windows Server

Dateiname zu lang

gelöst Frage von nooneelsebutmeWindows Server3 Kommentare

Hallo, habe Daten von einem Server 2008 R2 auf einen Server 2016 ES per robocopy migriert. Hat alles Problemlos ...

Microsoft Office

Lang lebe die Cloud

Information von HenereMicrosoft Office18 Kommentare

Ein Grinsen kann ich mir nicht verkneifen. Henere

Neue Wissensbeiträge
Sicherheit

Mehrere Sicherheitslücken in QNAP-NAS-Systemen aufgetaucht

Information von transocean vor 5 StundenSicherheit

Moin, QNAP hat drei Sicherheitsprobleme publik gemacht und empfiehlt sofortiges Update. Gruß Uwe

DNS

"Quickie": Mozillas "DNS over HTTPS" in pfSense blockieren

Anleitung von FA-jka vor 7 StundenDNS2 Kommentare

Hallo, Mozilla macht jetzt wohl wirklich Ernst mit "DNS over HTTPS" (kurz: DoH). Damit werden sämtliche DNS-Anfragen zu entsprechenden ...

Sicherheit
Störung bei Telematikinfrasturktur GEMATIK
Information von lcer00 vor 15 StundenSicherheit

Am 27. Mai 2020 ist es offenbar zu einer Fehlkonfiguration in der Zentralen Telematikinfrastruktur gekommen. Nähreres dazu findet sich ...

Informationsdienste

Trump vs Twitter - Angriff auf die Meinungsfreiheit?

Information von Frank vor 1 TagInformationsdienste3 Kommentare

Trump nutzt Twitter rege. Nach Hinweisen auf Falschbehauptungen drohte er dem Dienst. Was das bedeutet und die Konsequenzen dazu ...

Heiß diskutierte Inhalte
Sicherheits-Tools
Passwortmanager DGSVO (Deutscher Anbieter - Hoster)
Frage von SoccerdeluxSicherheits-Tools39 Kommentare

Hallo zuammen, ich arbeite für meine Kunden auf unterschiedlichen Geräten / Notebooks. Ich ärgere mich jedesmal, das ich mein ...

Batch & Shell
Ip-Adresse-Konfiguration speichern zur Wiederherstellung
gelöst Frage von alex1991Batch & Shell20 Kommentare

Hallo, ich bin eigentlich nicht in der IT-Abteilung, aber als Programmierer bin ich noch am nächsten dran. Deshalb wurde ...

Exchange Server
Automatische Antwort - Weiterleitung - zweite automatische Antwort - keine Weiterleitung?
Frage von dertowaExchange Server18 Kommentare

Hallo zusammen, da mich der Microsoftsupport ein wenig fassungslos machte versuche ich hier mal mein Glück und wenn es ...

Netzwerkgrundlagen
PF Sense - Keine Verbindung nach "außen"
gelöst Frage von mario89Netzwerkgrundlagen14 Kommentare

Hallo Leute, muss euch nochmalum Rat fragen. Weil irgendwie komme ich nicht weiter. Hintergrund ist, dass ich bei meiner ...