Erik: Nachtrag

Beitrag lesen

Hi Michael,

um das zu modellieren, gibt es den Wert NULL und die Eigenschaft einer Spalte, NULL-Werte aufzunehmen.
(Das wird üblicherweise über ein zusätzliches FLAG pro Spalte realisiert, kostet also ein bißchen Platz.)

Ist mir schon klar, dass ich nicht zwangsläufig jede Spalte immer ausgefüllt haben muss. Es erschien mir irgendwie besser, die Spalten die nicht immer ausgefüllt sind in eine eigene Tabelle auszulagern, aber vielleicht ändere ich das auch wieder.

In einer Tabelle sind zudem (sofern sie vorhanden sind) sehr
große Werte und eine Tabelle hat (sehr kleine) Werte die sehr
oft geändert werden müssen.
Und dann ist es doch ein Vorteil, wenn ich eine 'kleine' Zeile
habe, die geändert werden muss, die vielleicht 1 kb hat, als
wenn ich eine Zeile ändere die ca. 50 kb hat, oder sehe ich
das falsch?

Ich würde sagen, das ist Aufgabe des RDBMS, dies effizient umzusetzen.
Natürlich solltest Du dann nicht mit SELECT * alle Felder holen, wenn Du nur einzelne Felder änderst.
Aber die anderen Felder sollten von einem UPDATE einer einzelnen Spalte eigentlich nicht betroffen sein (idealerweise).

MySQL gibt immer 'Rows changed' oder sowas zurück, daraus habe ich geschlossen, dass immer die ganze Zeile neu geschrieben wird.

Viele Grüße und danke für deine Mühe,
Erik