Speicherung von array von integer-Werten in SQL Server
ich speichern möchten, die ein array von integer-Werte in eine SQL Datenbank Tabelle (SQL Server 2005), wenn möglich mit einer einzigen Spalte.
Den integer-array eine Länge von 7560 Werte.
Ich bin mit einem objectdatasource, der Datentyp kompatibel sein sollte mit der generierten Parameter einen tableadapter.
danke für die Hilfe 🙂
- warum nicht einfach machen eine große Textfeld ein, und trennen Sie die Werte durch Komma? oder verwenden Sie ein blob als bitmap (4 bytes pro int), oder alternativ erstellen Sie eine Tabelle mit 7561 Felder 😛
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie mindestens zwei Möglichkeiten:
Wenn Sie normalisieren wollen Ihrer Datenbank sollten Sie die zweite option.
Machen Sie es richtig: 1NF sieht keine sich wiederholenden Werte. Jedes element in Ihrer vorgeschlagenen 7560-element-array gehört in eine eigene Zeile.
Indem Sie jedes element in eine eigene Zeile, geben Sie die RDBMS-eine chance, Dinge zu tun, Sie kann nicht anders, z.B.: berechnen Sie die Statistik, auf die eingestellt, überprüfen Sie jedes element hält-domain-Regeln, berechnen von Differenzen zwischen zwei Mengen, zählen/Mengen auswählen teilen einige Merkmale.
Dass nicht besonders viele, und Sie nicht brauchen, um alle 50 Millionen, die meisten der Zeit. Berechnen Sie selbst, wie viele Zugriffe sind erforderlich, um die Suche nach einer binären Struktur zu finden, die einen Datensatz in einer Milliarde. Die Antwort mag Sie überraschen.
Nur, wenn Sie müssen! Sie können ganz einfach erstellen Sie eine andere Tabelle enthält Fremdschlüssel zurück zu Ihrem Tisch und eine int-Spalte.
Wenn Sie darauf bestehen, hält es in SQL Server nicht als Spalte verwenden Sie die IMAGE-Spalte Typ-oder VARBINARY(MAX) da Ihre Daten nicht länger als 8K. Dieser speichert jedes int 4 byte Binär Wert.
Was ist ObjectDataSource?
Ich würde speichern Sie es in den coma-separated value, wenn die Daten keinen BEZUG zu einer anderen Tabelle (Z. B. Werte, die Sie wanna Prozess in irgendeiner Weise), ob Sie (die Produkte in eine Rechnung, zum Beispiel) erstellen Sie eine weitere Tabelle mit einem Fremdschlüssel.
Greatings