Ich möchte ein Array von Integer-Werten in einer SQL-Datenbanktabelle (SQLServer 2005) speichern, wenn möglich mit einer einzelnen Spalte.
Das Integer-Array hat eine Länge von 7560 Werten.
Ich verwende eine Objektdatasource, der Datentyp sollte mit den generierten Parametern eines Tableadapters kompatibel sein.
danke für die Hilfe:)
Sie haben mindestens zwei Möglichkeiten:
Wenn Sie Ihre Datenbank normalisieren möchten, sollten Sie die zweite Option wählen.
Tue es richtig: 1NF schreibt keine wiederholenden Werte vor. Jedes Element in Ihrem vorgeschlagenen 7560-Element-Array gehört in eine eigene Zeile.
Indem Sie jedes Element in eine eigene Zeile setzen, geben Sie dem RDBMS die Möglichkeit, Dinge zu tun, die es sonst nicht tun kann, z. B .: Statistiken für das Set berechnen, jedes Element auf Domain-Regeln überprüfen, Unterschiede zwischen zwei Sets berechnen, Zähl- / Auswahlsätze, die einige Merkmale teilen.
Ich werde mit Millionen von Zeilen enden (vielleicht mehr als 50 Millionen). Ich bin nicht sicher, ob die Datenbank das ohne Leistungsprobleme behandeln kann.
Das sind nicht besonders viele, und Sie werden nicht die ganze Zeit mit allen 50 Millionen zu tun haben müssen. Berechnen Sie selbst, wie viele Zugriffe benötigt werden, um einen Binärbaum zu durchsuchen, um einen Datensatz in einer Milliarde zu finden. Die Antwort mag Sie überraschen.
Nur wenn Sie müssen! Sie können problemlos eine weitere Tabelle erstellen, die einen Fremdschlüssel zurück zu Ihrer Tabelle und eine int-Spalte enthält.
Wenn Sie darauf bestehen, es in SQL Server als Spalte zu speichern, müssen Sie den Spaltentyp IMAGE oder VARBINARY (MAX) verwenden, da Ihre Datenlänge 8 KB überschreitet. Dies speichert jedes int als 4-Byte-Binärwert.
Was ist Objektdatenquelle?
Ich würde es im koma-separierten Wert speichern, wenn die Daten NICHT mit einer anderen Tabelle verknüpft sind (Beispiel, Werte, die Sie irgendwie verarbeiten wollen), wenn sie (Produkte in einer Rechnung zum Beispiel) sind, sollten Sie eine andere erstellen Tabelle mit einem Fremdschlüssel.
Greating
Tags und Links sql c# sql-server-2005 objectdatasource