Hallo Zusammen,
ich habe mich hier vor einiger Zeit schonmal gemeldet,
weil ich Hilfe beim Optimieren einer Query brauche.
Nun ist es wieder so weit.
Habe eure Tipps mmn so weit möglich befolgt.
Es geht um folgende Query:
In table1 steht jede menge Zeugs drin.
Die Einträge mit oid aus table2, welche noch nicht in table3 oder table4 drin sind, möchte ich gerne als Ergebnis bekommen.
id ist dabei der pk.
oid ist fk und gibt nur an von welchem typ ein eintrag ist.
Diese Query benötigt ca. 2:30min bis 3min um komplett durchzulaufen.
Grund wird wohl die Größe von table1 sein (mehrere GB).
Kann ich die Query trotzdem noch irgendwie optimieren?
Alle id-Spalten sind auch clustered-index.
Die oid-Spalten sind unclusterd-index.
Ich hoffe ihr könnt mir helfen.
VIELEN DANK!
ich habe mich hier vor einiger Zeit schonmal gemeldet,
weil ich Hilfe beim Optimieren einer Query brauche.
Nun ist es wieder so weit.
Habe eure Tipps mmn so weit möglich befolgt.
Es geht um folgende Query:
Code:
select id, oid, data
from table1
where
exists (select oid
from table2
where table2.oid = table1.oid
and (not exists (select id
from table3
where table3.id = table1.id)
and not exists (select id
from table4
where table4.id = table1.id)))
In table1 steht jede menge Zeugs drin.
Die Einträge mit oid aus table2, welche noch nicht in table3 oder table4 drin sind, möchte ich gerne als Ergebnis bekommen.
id ist dabei der pk.
oid ist fk und gibt nur an von welchem typ ein eintrag ist.
Diese Query benötigt ca. 2:30min bis 3min um komplett durchzulaufen.
Grund wird wohl die Größe von table1 sein (mehrere GB).
Kann ich die Query trotzdem noch irgendwie optimieren?
Alle id-Spalten sind auch clustered-index.
Die oid-Spalten sind unclusterd-index.
Ich hoffe ihr könnt mir helfen.
VIELEN DANK!