Zum Inhalt springen

Access: Unionquery dauert ewig


Code Poet

Empfohlene Beiträge

Hallo!

Seit einiger Zeit bin ich leider wieder gezwungen mit dieser Datenbank zu arbeiten.

Bei einer recht simplen UNION - Query tritt nun folgendes Problem auf: einzeln für sich sind beide beteiligten Abfragen in 2 Sekunden fertig. (Zusammen etwa 240.000 Datensätze).

Als UNION hingegen braucht die ganze Sache fast 50 Sekunden...

Weiß jemand, woran das liegen kann?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tja,

das liegt wohl rein an Access.

Das Problem habe ich schon seit einigen Jahren, daran sieht man, dass Access eben keine "richtige" Datenbank ist,

sondern nur eine Art Flatfile mit Indexierung und ein paar Erweiterungen.

Liegt die Datei im Netzwerk?

Wird die Abfrage in Access ausgeführt oder durch ein Frontend (z.B. VB o.ä.)?

Eventuell hast Du die Möglichkeit die Abfragen in sich nochmal zu splitten,

um so die steigende DS-Anzahl zu verringern, kann man aber schwer als

Außenstehender beurteilen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

das liegt sehr wahrscheinlich an access. vielleicht hast du die möglichkeit, die beiden separaten abfragen als tabellen zu erstellen und über die beiden tabellen die dritte abfrage über die beiden tabellen statt über die beiden abfragen zu erstellen. das könnte die perfomance steigern.

grüße von ipu

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin mir nicht sicher ob es in Access genauso ist.

Bei Oracle kenne wir den Unterschied zwischen "Union" und "UNION ALL".

"UNION ALL" ist das schnellere, da er einfach nur alle Datensätze der beiden Abfragen zusammen schmeißt.

Bei "UNION" führt die Datenbank eine art distinct aus. Das bedeutet, das er prüft, ob es Datensätze gibt die in der ersten und in der zweiten Abfrage identisch sind. Also muss er einen Vergleich über 240.000 Datensätz ausführen. Also prüfe wie dein Union aussieht und versuche es ggf. mit union all.

(ich hoffe das ist fachlich möglich, sonst hilft es manchmal über dieses "union" ergebnis noch eine View zu legen die einfach nur distinct ausführt, da der execution plan dann anders gebildet wird...).

P.S.

Ich bin auch kein Freund von Access (es verdient eigentlich nicht den Begriff Datenbank), aber ich glaube nicht, das Access bei diesen Kleinigkeiten schon aufgibt, da macht es sich der ein oder andere hier zu einfach...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...