Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Performancegünstigere Alternative gesucht
zurück: Suchen in Datenzugriffsseite weiter: Kriterium beim starten von Abfrage Musseingabe Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
loup
VBA Abuser


Verfasst am:
24. Jan 2008, 11:39
Rufname:

Performancegünstigere Alternative gesucht - Performancegünstigere Alternative gesucht

Nach oben
       Version: Office XP (2002)

Hallo Leute,

hab eine Abfrage welche ihre Funktion erfüllt aber sehr lange dauert.
Gewünschte Funktion: Nur Datensätze aus import an tbl_user anfügen welchen noch nicht vorhanden sind.
Code:
INSERT INTO tbl_User
       ( [User-Name], [User-Vorname], [User-Abt], [User-Phone], [User-Email] )
SELECT   [User-Name], [User-Vorname], [User-Abt], [User-Phone], [User-Email]
FROM     import AS T1
WHERE    Exists (SELECT * FROM tbl_user
                 WHERE T1.[User-Name] Like [User-Name])=False
GROUP BY [User-Name], [User-Vorname], [User-Abt], [User-Phone], [User-Email];
Nun diese Abfrage Funktioniert wie gesagt aber dauert sehr lange, gibt es eine Möglichkeit die Laufzeit noch zu optimieren?
Zed2k
Im Profil kannst Du frei den Rang ändern


Verfasst am:
24. Jan 2008, 12:07
Rufname:

AW: Performancegünstigere Alternative gesucht - AW: Performancegünstigere Alternative gesucht

Nach oben
       Version: Office XP (2002)

Hi,
ich weiß nicht, ob die Anfrage optimiert werden kann, dazu müsste man die Herangehensweise des Query-Optimierers kennen. Du kannst ja mal versuchen dein Access einzurichten, dass es eine showplan.out erzeugt und nach einer Ausführung der Abfrage dir anschauen oder hier rein stellen, wie die Tabellen bearbeitet werden.
Ich bin mir nicht sicher, aber folgende Abfrage könnte effizienter sein:
Code:
INSERT INTO tbl_User
     ( [User-Name], [User-Vorname], [User-Abt], [User-Phone], [User-Email] )
SELECT [User-Name], [User-Vorname], [User-Abt], [User-Phone], [User-Email]
FROM   import AS T1
WHERE  [User-Name] NOT IN (SELECT [User-Name]
                           FROM   tbl_user);
Wozu steht da eigentlich Group By? Ich seh keine Aggregatfunktion

Ansonsten könntest du es höchstens beschleunigen, wenn du einen Index über User-Name auf beiden Tabellen erstellst bzw. wenn du als Primärschlüssel eine Zahl statt eines Strings verwendest (Zahlenvergleiche sind meistens einfacher).

_________________
Grüße, Zed
loup
VBA Abuser


Verfasst am:
24. Jan 2008, 14:06
Rufname:


AW: Performancegünstigere Alternative gesucht - AW: Performancegünstigere Alternative gesucht

Nach oben
       Version: Office XP (2002)

groub by ist nur dazu da doppelte Datensätze zusammen zu fassen.

Das performance Problem hab ich gelöst durch einen eindeutigeren Vergleich der beiden Tabellen.

sprich
Code:
    T1. Username = Username
AND T1.UserVorname = UserVorname
Jetzt läuft das Querry gewohnt schnell.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Alternative zu verschachtelter Wenn Funktion Access 2010 3 Lotus123 337 20. Nov 2012, 11:59
Gast Alternative zu verschachtelter Wenn Funktion Access 2010
Keine neuen Beiträge Access Tabellen & Abfragen: Eingabe von Vor und Nachname soll in 2 Spalten gesucht werde 18 sabi 735 19. Dez 2011, 10:10
sabi1 Eingabe von Vor und Nachname soll in 2 Spalten gesucht werde
Keine neuen Beiträge Access Tabellen & Abfragen: Hilfe gesucht für Adressdatenausgabe 2 Dr. Twoy 740 20. Feb 2011, 18:37
Dr. Twoy Hilfe gesucht für Adressdatenausgabe
Keine neuen Beiträge Access Formulare: Alternative Lösung zu Endlosformular + Kombinationsfeldern? 3 meeb 520 24. Nov 2010, 21:02
MissPh! Alternative Lösung zu Endlosformular + Kombinationsfeldern?
Keine neuen Beiträge Access Tabellen & Abfragen: Top Alternative in SQL-Query von Access (Fetch first rows) 0 dasboot 2045 19. Nov 2009, 11:27
dasboot Top Alternative in SQL-Query von Access (Fetch first rows)
Keine neuen Beiträge Access Tabellen & Abfragen: Lösung in Sql gesucht 5 Muenster36 401 07. Okt 2009, 22:52
Muenster36 Lösung in Sql gesucht
Keine neuen Beiträge Access Tabellen & Abfragen: Alternative zum Full Outer Join ? 2 Bummler 1018 27. Jul 2009, 13:15
Gast Alternative zum Full Outer Join ?
Keine neuen Beiträge Access Formulare: Ereignis gesucht 5 STF-DIR 717 19. Jul 2009, 20:50
STF-DIR Ereignis gesucht
Keine neuen Beiträge Access Tabellen & Abfragen: spezielle abfrage gesucht 3 PommBaer 316 22. Nov 2008, 05:36
Willi Wipp spezielle abfrage gesucht
Keine neuen Beiträge Access Tabellen & Abfragen: Access Nachhilfe gesucht - Raum Münster - oder online 1 Mario H 820 28. Aug 2008, 16:20
KlausMz Access Nachhilfe gesucht - Raum Münster - oder online
Keine neuen Beiträge Access Tabellen & Abfragen: Hilfe für Abfrage gesucht 3 Zamp 610 22. Okt 2007, 11:25
Willi Wipp Hilfe für Abfrage gesucht
Keine neuen Beiträge Access Formulare: Formular synch alternative bei leeren Recordsource! 0 Rundi 606 08. Jan 2007, 13:00
Rundi Formular synch alternative bei leeren Recordsource!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps