2010-12-09 14 views
0

Ich habe Daten, die möglicherweise an SQL-CE in einer Windows-Telefonanwendung von Drittanbietern übertragen werden, aber ich habe nirgendwo einen Test durchzuführen, also muss ich herausfinden, ob wir ll überschreiten die maximale Datenbankgröße von 4 GB (viele Millionen Datensätze).Berechnen der Speicheranforderungen für SQL-Server CE

Ich kenne die Größen der verschiedenen Datentypen, aber gibt es zusätzliche Anforderungen für Indizes, Zeilen-IDs usw. Auch diese Daten müssen synchronisiert/repliziert werden, ich nehme also an, dass jede Zeile eine GUID oder ähnliches benötigt?

Tabelle1 (2 erste Felder werden geclustert Primärschlüssel) nvarchar (20) int int DATETIME

Table2 (erstes Feld ist Primärschlüssel) int int DATETIME

Table3 (Erste zwei Felder sind geclusterter Primärschlüssel) int int int

Ich habe Zugang zu SQL-Server (nicht CE), aber ich bin ein Oracle-Typ und kenne mich dort nicht sehr gut aus. Jede Hilfe oder Einsicht wird geschätzt.

Antwort

-1

Glücklicherweise sind Ihre Tabellen sehr schmal, so dass die 4 GB zu einer Menge Zeilen gestreckt werden können. Jede Zeile benötigt eine GUID, du hast Recht. Schauen Sie sich SEQUENTIALID an, die Ihre Datensätze in einer bestimmten Reihenfolge speichert, wodurch einige Leistungshindernisse der GUIDs reduziert werden. Haben Sie derzeit Zugriff auf die Daten oder haben Sie eine grobe Schätzung, wie viele Datensätze Sie speichern werden? Wenn Sie die Daten haben, würde ich eine saubere DB erstellen, erstellen Sie Ihre Tabellen und fügen Sie sie ein. Index es nach Ihren Wünschen und überprüfen Sie die Größe. Indizes können ziemlich viel Speicherplatz beanspruchen, aber Sie sollten nicht viel in der Art von Indizes für diese engen Tabellen benötigen.

+0

Wenn ich diese drei Tabellen, Indizes usw. in Sql Server 2005 erstellen, wird die Größe in einer CE-Datenbank konsistent sein? – RogerG

+0

SEQUENTIALID ist nicht anwendbar auf SQL Server Compact – ErikEJ