Hi,
Ich habe eine View über 5 Tabellen erzeugt. Wenn ich einen select auf
den View ausfuehre, dann dauert es unheimlich lange (ca. 1 min) bis ich ein
Ergebnis bekomme obwohl nur ca. 2000 Datensaetze im View sind.
Ich benutze InterBase 5.6 und fuhre das Select - Statement ueber
Interactive SQL aus.
Ist mein View falsch angelegt oder dauert es tatsaechlich solange bei
vielen Tabellen.
Gibt es eine andere Moeglichkeit?
Hier der View:
<pre>
create view ArchivUebersichtView(
KATID, KATName,
DTID, DTKatID, DTName, DTBeschreibung, DTKennung, DTAnleger,
DTDatum,
DIRID, DIRDTID, DIRName,
DATEIID, DATEIDirID, DATEIName, DATEIExt, DATEIDatum,
DIID, DIDateiID, DIInhalt)
as
select
KAT.ID, KAT.NAME,
DT.ID, DT.KATID, DT.NAME, DT.BESCHREIBUNG, DT.KENNUNG, DT.ANLEGER,
DT.ANLAGEZEITPUNKT,
DIR.ID, DIR.DTID, DIR.NAME,
DATEI.ID, DATEI.DIRID, DATEI.NAME, DATEI.EXTENSION, DATEI.DATUM,
DI.ID, DI.DATEIID, DI.INHALT
from
KATEGORIEN KAT inner join
(DATENTRAEGER DT inner join
(VERZEICHNISSE DIR left outer join
(DATEIEN DATEI left outer join DATEIINHALTE DI
on DATEI.ID = DI.DATEIID)
on DIR.ID = DATEI.DIRID)
on DT.ID = DIR.DTID)
on KAT.ID = DT.KATID
</pre>
Ich habe eine View über 5 Tabellen erzeugt. Wenn ich einen select auf
den View ausfuehre, dann dauert es unheimlich lange (ca. 1 min) bis ich ein
Ergebnis bekomme obwohl nur ca. 2000 Datensaetze im View sind.
Ich benutze InterBase 5.6 und fuhre das Select - Statement ueber
Interactive SQL aus.
Ist mein View falsch angelegt oder dauert es tatsaechlich solange bei
vielen Tabellen.
Gibt es eine andere Moeglichkeit?
Hier der View:
<pre>
create view ArchivUebersichtView(
KATID, KATName,
DTID, DTKatID, DTName, DTBeschreibung, DTKennung, DTAnleger,
DTDatum,
DIRID, DIRDTID, DIRName,
DATEIID, DATEIDirID, DATEIName, DATEIExt, DATEIDatum,
DIID, DIDateiID, DIInhalt)
as
select
KAT.ID, KAT.NAME,
DT.ID, DT.KATID, DT.NAME, DT.BESCHREIBUNG, DT.KENNUNG, DT.ANLEGER,
DT.ANLAGEZEITPUNKT,
DIR.ID, DIR.DTID, DIR.NAME,
DATEI.ID, DATEI.DIRID, DATEI.NAME, DATEI.EXTENSION, DATEI.DATUM,
DI.ID, DI.DATEIID, DI.INHALT
from
KATEGORIEN KAT inner join
(DATENTRAEGER DT inner join
(VERZEICHNISSE DIR left outer join
(DATEIEN DATEI left outer join DATEIINHALTE DI
on DATEI.ID = DI.DATEIID)
on DIR.ID = DATEI.DIRID)
on DT.ID = DIR.DTID)
on KAT.ID = DT.KATID
</pre>
Comment