Anforderungen: Wenn es im Projekt ein Feld gibt, das keine where- and-order-Abfragen ausführt, kann es mit nvarchar(max) und varbinary(max)-Datentypen gespeichert werden, und Sie müssen Speichergröße, Abfragegeschwindigkeit und Übertragungsgröße berücksichtigen.
nText, Text und Bild
Die Datentypen ntext, text und Bild werden in zukünftigen Versionen entfernt. Vermeiden Sie es, diese Datentypen in neuen Entwicklungsprojekten zu verwenden, und erwägen Sie, Anwendungen zu modifizieren, die diese Datentypen bereits verwenden.Benutze stattdessen nvarchar(max), varchar(max) und varbinary(max). 。
varbinär [ ( n | max ) ]
Binärdaten variabler Länge. n hat einen Wertbereich von 1 bis 8.000. Max gibt an, dass die maximale Speichergröße 2^31–1 Byte beträgt. Die Speichergröße entspricht der tatsächlichen Länge der eingegebenen Daten + 2 Bytes. Die Länge der eingegebenen Daten kann 0 Bytes betragen. Das ANSI-SQL-Synonym für varbinary ist binär.
Dokumentation:Der Hyperlink-Login ist sichtbar.
nvarchar [ ( n | max ) ]
String-Daten mit variabler Größe. n wird verwendet, um die Zeichenkettengröße (in Doppelbytes) zu definieren, und es kann ein Wert zwischen 1 und 4.000 sein. max gibt an, dass die maximale Speichergröße 2^31-1 Zeichen (2 GB) beträgt. Die Speichergröße ist doppelt so groß wie n Bytes + 2 Bytes. Bei der UCS-2-Codierung beträgt die Speichergröße doppelt so viel wie n Bytes + 2 Bytes, und die Anzahl der gespeicherten Zeichen beträgt ebenfalls n. Für die UTF-16-Codierung beträgt die Speichergröße immer noch doppelt so viele Bytes wie n Bytes + 2 Bytes, aber die Anzahl der gespeicherten Zeichen kann kleiner als n sein, da ergänzende Zeichen zwei Doppelbytes (auch bekannt als Proxy-Item-Paare) verwenden. ISO-Synonyme für nvarchar sind national char variing und national character variing.
Dokumentation:Der Hyperlink-Login ist sichtbar.
Neue Tabelle
Datenbankversion: Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) 24. Sep 2019 13:48:23 Copyright (C) 2019 Microsoft Corporation Enterprise Edition (64-Bit)
Erstelle zwei neue Tabellen, die Felder werden mit den Datentypen nvarchar(max) und varbinary(max) gespeichert, und das Skript sieht wie folgt aus:
Erstellen Sie eine neue Konsolenanwendung basierend auf .NET 6
Um eine Konsolenanwendung zu erstellen, muss man auf Microsoft.Data.SqlClient zugreifen, der Code ist wie folgt:
Separat eingefügtDie gleichen 300.000 Datenstückelautet die Abfrage wie folgt:
Überprüfen Sie den belegten Speicherplatz, wie in der folgenden Abbildung gezeigt:
Das sieht mannvarchar(max)-Typ32,555 MB, ist der varbinär(max)-Typ besetzt18,602 MB。
|