2009-05-11 4 views
0

Für SQL Server 2005/2008, nach einigem Selbststudium, bin ich nicht sicher, ob mein Verständnis darüber, wie Zeichendaten Datentyp physikalisch gespeichert ist, korrekt ist. Bitte helfen Sie zu überprüfen und zu kommentieren. Hier ist mein Verständnis, bitte überprüfen Sie und fühlen Sie sich frei, mich zu korrigieren.Datenbank physischen Speicher für Zeichentyp

  • wenn Unicode-Zeichentyp (z.B. nvarchar) wird in UCS-2-Codierung (das heißt Zeichen in Form von verwandten UCS-2 definierten Bitsequenzen für das Zeichen gespeichert ist, physikalisch) zugrunde liegendes Zeichen gespeichert. Sortierung definiert Vergleich und Sortierung, keine Codepage in dieser Situation;

  • Bei der Verwendung von Nicht-Unicode-Zeichentypen (z. B. varchar) werden zugrunde liegende Zeichen physisch als Bits gespeichert, die in der entsprechenden durch die Sortierung definierten Codepage definiert sind. In diesem Fall definiert Collation nicht nur den Vergleich/das Sortieren, sondern auch die Codepage (Zeichen, Bitwert stellt das Zeichen dar und verwendet den gleichen Bitwert zum Speichern des Zeichens im physischen Datenbankspeicher).

Vielen Dank im Voraus, George

Antwort

1

Ich glaube, Sie sind wright, den Link für weitere Informationen siehe http://www.sql-server-helper.com/faq/data-types-p01.aspx

+0

Einer meiner weiteren Verwirrung - Zeichen als nahe stehende physikalisch der gleiche gespeichert Bitfolge definiert in UCS-2 (bei Verwendung von Unicode-Zeichendatentyp)/Codepage (bei Verwendung von Nicht-Unicode-Zeichendatentypen), keine zusätzliche Konvertierungsebene (zwischen dem physikalischen Speicher und zugehöriger Bitfolge in UCS-2/Codepage definiert) ? – George2

+0

BTW: Ich habe im Verweisdokument nicht gefunden, wie Zeichendaten Datentyp Bits physikalisch gespeichert sind, dh ob die gleiche wie UCS-2/Codepage definierte Bitsequenz oder ein anderes Format verwenden (die eine zusätzliche Ebene der Bitsequenzkonvertierung hat) . – George2