2009-05-10 7 views

Antwort

1

Abhängig vom Säulentyp.

Variable Spalten (wie varchar(n)) werden nur 4 zusätzliche Bytes (ca.) pro Zeile verwenden.

Ich würde Spalten nur bei Bedarf hinzufügen, da es weniger wahrscheinlich ist, dass redundante Spalten hinzugefügt und nie entfernt werden.

+0

auch wenn sie leer sind? oder null meine Frage sollte leer sein oder null Felder Platz belegen –

+0

Ja. Leere und NULL-Spalten belegen Platz. SQL Server 2008 hat neue Zeilenkomprimierung für Sparse-Tabellen, d. H. Solche mit vielen NULL-Spalten ... –

+0

Wenn Sie keine riesigen Tabellen haben, ist das Problem der Wartbarkeit von redundanten Spalten wichtiger als Platzprobleme. Ich sehe oft DBs mit ungenutzten Spalten, aber Entwickler sind nervös zu entfernen, falls sie woanders verwendet werden (zB Export in ein anderes System usw.) –

1

Ja, sie beanspruchen immer noch Platz, wenn sie nur ein paar Bytes pro Zeile haben (abhängig vom Spaltentyp). Wenn du sie erst später benutzen wirst, was nützt es dann, sie dort zu halten?

1

Ich möchte hinzufügen, dass, obwohl leere Spalten Platz beanspruchen (wie in den anderen Antworten erwähnt), beim Hinzufügen einer großen Datenbank, das Hinzufügen einer Spalte keine leichte Aufgabe ist. Manchmal ist es gut, eine zusätzliche Spalte bereit zu haben, auch wenn sie nur für den zukünftigen Gebrauch gedacht ist.

Verwandte Themen