zingo
Goto Top

Oracle 10g Index deaktivieren wenn aggregatfunktion in der Where Klausel ist?

Stimmt das oder nicht?

Hallo zusammen,

wenn in einer Where Klausel eine Aggregatfunktion verwendet wird, dann soll das den Index deaktivieren habe ich mal gehört.
Stimmt das?
Wer weiß so etwas und kann mir helfen? face-smile

Danke schon mal.

Gruß Ingo

Content-Key: 72973

Url: https://administrator.de/contentid/72973

Printed on: April 19, 2024 at 11:04 o'clock

Mitglied: 27234
27234 Nov 08, 2007 at 07:12:54 (UTC)
Goto Top
Hallo,

ich meine ja, auf jeden Fall war das bis Version 9i so, wird in 10g aber nicht anders sein.
Vielleicht noch mal präziser:
Die Spalte "Zeitraum" als DATE definiert ist indiziert.

WHERE ZEITRAUM = TO_CHAR('01012007','DDMMYYYY') --> ist o.k., Index wird genommen

WHERE TO_CHAR('ZEITRAUM','DDMMYYYY') = '01012007' --> ist schlecht, Index wird nicht genommen

Jetzt gibt es aber noch die Möglichkeit der funktionionbasierten Indizes (function-based Index), dabei wird gleich der Index mit der Funktion angelegt, z.B.
CREATE INDEX indexname ON tablename (UPPER(nachname));

Gruß - René
Member: Biber
Biber Nov 17, 2007 at 16:08:39 (UTC)
Goto Top
Moin zingo,

ist denn Deine Frage noch offen?
Wenn ja, dann werde ein bisschen konkreter..

Wenn Du tatsächlich Aggegatfunktionen meinst (SUM, AVG, MIN, MAX...), dann liegt doch wohl kaum der Index auf diesem (numerischen) Feld.

Also bitte lieber das konkrete Problem bzw. die Frage hinter der Frage posten.

Grüße
Biber
Member: zingo
zingo Nov 21, 2007 at 19:43:48 (UTC)
Goto Top
Hallo zusammen,

hat sich erledigt. Das Problem kam aus einer anderen Richtung.
Es stimmt aber was die anderen als Kommentar geschrieben haben.

Danke nochmal!

Gruß ZINGO