Hi,
ich will in einer Tabelle TABA die Anzahl der Einträge aus TABB speichern, die dort für eine bestimmte Kategorie vorhanden sind. Das habe ich versucht so zu lösen. Funktioniert zwar grundsätzlich auch, aber der Update dauert bei mehreren tausend Einträgen minutenlang. Kann man da noch irgend etwas von der Performance optimieren?
ich will in einer Tabelle TABA die Anzahl der Einträge aus TABB speichern, die dort für eine bestimmte Kategorie vorhanden sind. Das habe ich versucht so zu lösen. Funktioniert zwar grundsätzlich auch, aber der Update dauert bei mehreren tausend Einträgen minutenlang. Kann man da noch irgend etwas von der Performance optimieren?
Code:
SQL> select * from taba; ID ANZAHL ---------- ---------- 1 0 2 0 3 0 SQL> select * from tabb; ID KAT_NR ---------- ---------- 1 1 2 2 3 3 4 1 5 2 6 1 7 1 8 2 9 1 SQL> UPDATE taba SET anzahl = ( SELECT COUNT(*) FROM tabb WHERE tabb.kat_nr = taba.id ); 3 rows updated. SQL> select * from taba; ID ANZAHL ---------- ---------- 1 5 2 3 3 1
Kommentar