Einzelnen Beitrag anzeigen

waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#1

SQL-Abfrage über 2 Tabellen, geschwindikteitsthema

  Alt 31. Jan 2010, 12:00
Datenbank: Firebird • Version: 2.1 • Zugriff über: ZEOS
Hallo,
ich habe zwei Tabellen in einer FB-Datenbank.
Nun möchte ich überprüfen, welche Namen, in Tabelle 1 sowie in Tabelle 2 vorhanden sind und mir lediglich die ausgeben lassen, welche in Tabelle 1 aber nicht in Tabelle 2 enthalten sind.

Ein Hinweis ist noch erforderlich. Tabelle 1 enthält ca. 1.000 Datensätze, Tabelle 2 hingegen ca. 35.000 Datensätze.

Ich habe die Abfrage über 2 Arten durchgeführt.

1.) sql.text := 'SELECT * FROM Dat_new WHERE name NOT IN (SELECT name from Dat)';
Hier daurt es ca. 50 Sec. bis zur Ergebnislieferung

2.) sql.text := 'SELECT * FROM Dat_new LEFT JOIN Dat ON Dat_new.name <> Dat.name'
Hier dauet es ca. 110 Sec bis zur Ergebnislieferung


Dies ist natürlich in beiden Fällen rechtlange.

Hat jemand eine Idee, wie ich dies durch eine bessere Abfrage beschleunigen kann ?
  Mit Zitat antworten Zitat