Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3258|Antwort: 1

[Quelle] MSSQL verwendet nvarchar(max) und varbinary(max), um die Differenz zu speichern

[Link kopieren]
Veröffentlicht am 09.09.2023 09:36:22 | | | |
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





Vorhergehend:National Bank Xbox Series X Freischaltung quer über die Region freischaltendes Tutorial
Nächster:SQL Server sucht nach festgelegten Inhalten über alle gespeicherten Prozeduren, Funktionen und Ansichten hinweg
 Vermieter| Veröffentlicht am 09.09.2023 09:38:11 |
Das Einfügen von 300.000 Datenstücken, die jeweils 1 Sekunde dauern, sieht wie folgt aus:



Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com