AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-Abfrage optimieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Abfrage optimieren

Ein Thema von Xong · begonnen am 27. Feb 2008 · letzter Beitrag vom 27. Feb 2008
 
Benutzerbild von Xong
Xong

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

Re: SQL-Abfrage optimieren

  Alt 27. Feb 2008, 12:55
Zitat von Union:
Dann fällt auf jeden Fall das schreckliche SELECT * weg - das wäre für mich der erste Optinierungsschritt.
Kannst du das für mich noch begründen. =)

Ich hab drei unterschiedliche Möglichkeiten für Abfragen erstellt:
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 in (2,3 /* [...] */)
)
ORDER BY NAME1 ASC

SQL-Code:
SELECT *
FROM ADRESSEN
WHERE ADRESSEN.IDNR IN (
   SELECT IDNR
   FROM ADRESSEN
      INNER JOIN ADRESSGRU ON
         (ADRESSEN.IDNR = ADRESSGRU.ADR_ID) AND
         GR_ID in (2,3 /* [...] */)
   GROUP BY IDNR
)
ORDER BY NAME1 ASC

SQL-Code:
SELECT *
FROM ADRESSEN
WHERE IDNR in (
   SELECT ADR_ID
   FROM ADRESSGRU
   WHERE GR_ID in (2,3 /* [...] */)
)
ORDER BY NAME1 ASC
Diese Abfrage ist nach einem simplen Test am performantesten. Spricht etwas dagegen, mit der Unterabfrage zu arbeiten?
Kann man das noch weiter optimieren? (Sieht fast so aus wie die von alzaimar, dessen Abfrage ähnlich schnell ist.)

LG,
Xong
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz