Hi,
ich habe eine Frage bezüglich der Performance einer Datenbank bei einem SQL Statement.
Das Statement ist momentan so:
Das läuft relativ schnell aber so stehen in der Tabelle auch ziemlich viele Felder mit dem Wert "0", da nur ein kleiner Teil der DS einen Verknüpfung besitzt und somit einen Wert größer als "0" hat.
In der Tabelle befinden sich ca. 2 Millionen Datensätze.
Ich habe die Spalten in der Tabelle (bai_hist_id_ban und bai_hist_id_bw) "null able" gemacht und das Statement mit "IS NOT NULL" durchsuchen lassen, was wesentlich länger gedauert hat.
Kann man da noch etwas "tunen" oder sind abfragen über "null able" Felder immer langsamer?
Auf beiden Spalten liegt ein Index.
gruß
ich habe eine Frage bezüglich der Performance einer Datenbank bei einem SQL Statement.
Das Statement ist momentan so:
SQL:
SELECT * FROM bai WHERE ((bai_hist_id_ban > 0) OR (bai_hist_id_ban < 0))
AND ((bai_hist_id_bw > 0) OR (bai_hist_id_bw < 0))
AND bai_qs_datum
BETWEEN to_date( '2011-09-01' , 'yyyy-MM-dd')
AND CURRENT_DATE
Das läuft relativ schnell aber so stehen in der Tabelle auch ziemlich viele Felder mit dem Wert "0", da nur ein kleiner Teil der DS einen Verknüpfung besitzt und somit einen Wert größer als "0" hat.
In der Tabelle befinden sich ca. 2 Millionen Datensätze.
Ich habe die Spalten in der Tabelle (bai_hist_id_ban und bai_hist_id_bw) "null able" gemacht und das Statement mit "IS NOT NULL" durchsuchen lassen, was wesentlich länger gedauert hat.
Kann man da noch etwas "tunen" oder sind abfragen über "null able" Felder immer langsamer?
Auf beiden Spalten liegt ein Index.
gruß
Zuletzt bearbeitet von einem Moderator: