Thema: Delphi SQL-Abfrage optimieren

Einzelnen Beitrag anzeigen

Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#1

SQL-Abfrage optimieren

  Alt 27. Feb 2008, 11:53
Datenbank: MSSQL • Version: 2005 • Zugriff über: irrellevelle
Hallo!
Ich kenne mich mit SQL noch nicht sonderlich gut aus, deshalb würde ich gern wissen, ob man das kleine Abfragemonster performanter hinbekommt.
SQL-Code:
SELECT *
FROM ADRESSEN
WHERE ADRESSEN.IDNR IN (
   SELECT DISTINCT IDNR
   FROM ADRESSEN
      INNER JOIN ADRESSGRU ON
         (ADRESSEN.IDNR = ADRESSGRU.ADR_ID) AND
         (GR_ID=5 OR GR_ID=39 /* OR [...] (wird dynamisch hinzugefügt) */)
)
ORDER BY NAME1 ASC
Mit dieser Abfrage erreiche ich, dass nur die Adressen angezeigt werden, die in bestimmten Gruppen sind.
Die Abfrage klappt so auch, allerdings dauert sie schon ein paar Millisekündchen.

Hat jemand eine bessere Idee?

LG,
Xong


PS:
Das funktioniert nicht, da DISTINCT ja nicht auf Textfelder angewandt werden darf:
SQL-Code:
SELECT DISTINCT *
FROM ADRESSEN
   INNER JOIN ADRESSGRU ON
      (ADRESSEN.IDNR = ADRESSGRU.ADR_ID) AND
      (GR_ID=5 OR GR_ID=39 /* OR [...] */)
ORDER BY NAME1 ASC
  Mit Zitat antworten Zitat