Hallo,
ich führe einen nicht besonders performanten UPDATE über mehrere Tabellen aus, mit ein paar Konditions natürlich, also
UPDATE tab1,tab2,tab3 SET tab1.val = 'xyz' WHERE ...
Wie man sieht, werden allerdings nur die Spalten einer Tabelle aktualisiert.
Ich muss aber tab2 und tab3 for dem SET angeben um später in den Conditions auf beide Tabelle referenzieren zu können.
1.) Gibt es eine andere Möglichkeit dazu? Ich habe das Gefühl, dass bei drei Tabellen kubische Komplexität O(n)=n^3 vorliegt.
2.) Bringt mir hier das Einführen eines Indizes über tab2 und tab3 etwas, oder ist dies eher hinderlich?
3.) Ich muss zwei DBs unterstützen, weil wir uns noch nicht für MS SQL Server oder MySQL entschieden haben. Gibt es hier diesbezüglich Unterschiede?
Vielen Dank für Eure Hilfe.
mssqler
ich führe einen nicht besonders performanten UPDATE über mehrere Tabellen aus, mit ein paar Konditions natürlich, also
UPDATE tab1,tab2,tab3 SET tab1.val = 'xyz' WHERE ...
Wie man sieht, werden allerdings nur die Spalten einer Tabelle aktualisiert.
Ich muss aber tab2 und tab3 for dem SET angeben um später in den Conditions auf beide Tabelle referenzieren zu können.
1.) Gibt es eine andere Möglichkeit dazu? Ich habe das Gefühl, dass bei drei Tabellen kubische Komplexität O(n)=n^3 vorliegt.
2.) Bringt mir hier das Einführen eines Indizes über tab2 und tab3 etwas, oder ist dies eher hinderlich?
3.) Ich muss zwei DBs unterstützen, weil wir uns noch nicht für MS SQL Server oder MySQL entschieden haben. Gibt es hier diesbezüglich Unterschiede?
Vielen Dank für Eure Hilfe.
mssqler
Comment