Hi,
Ich arbeite mit MSSQL-Server 2005.
vorweg: Mit diesem System habe ich keine Erfahrung.
SELECT *
Gib die Liste der gewünschten Spalten explizit an. Das dürfte die Performance zwar nicht spürbar beeinflussen, ist aber trotzdem wichtig.
WHERE ADRESSEN.IDNR IN (
Existiert auf adressen.idnr ein Index?
(ADRESSEN.IDNR = ADRESSGRU.ADR_ID) AND
(GR_ID=5 OR GR_ID=39 /* OR [...] (wird dynamisch hinzugefügt) */)
Existiert ein Index auf adressgrz.adr_id *und* gr_id? In welcher Reihenfolge, wie sind Deine Indexe aufgebaut? Lässt sich die OR-Verknüpfungskette durch ein IN ersetzen? Sind die Indexe ggf. optimiert?
Die Abfrage klappt so auch, allerdings dauert sie schon ein paar Millisekündchen.
Lässt sich in Deinem DBMS ein Ausführungsplan des Statements ermitteln?
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes