NULL值大小的主題已在許多主題(如this one in SO)中討論過。
我可以明白,如果該行是固定尺寸的,int
或varchar(x)
NULL valeus(如果屬性是int
或空格如果屬性是varchar(x)
零)爲NULL位圖+ 1字節取空間。
SQL Server 2014 - varchar(x)NULL大小
我創建了一個具有兩個屬性的表格:
CREATE TABLE Person (id int NULL, name VARCHAR(50) NULL)
。
和所使用的script here以獲取每一行B中的大小:
我可以從表中讀取這些事實:
- 前三行:每每個字母1個字節+ 1位爲NULL位圖。
- 第4行:2個NULL位圖。
- 最後兩行:NULL位圖的4個字節+ 1個字節。
爲什麼上面的int/varchar(50)NULL值沒有取所有聲明的大小?
我正在使用SQL Server Management Studio 2014.規範是否更改?
我混合字符與varchar。多麼糟糕!感謝您的確認和鏈接。 – Infogeek 2014-09-06 16:44:15