SQL Server'da, neden bir tinyint satır 9B ile saklanır. Nedense NULL bitmap maskesinin sonunda ek bir bayt var gibi görünüyor.
KULLANIM tempdb;
GİT
CREATE TABLE Instagram Hesabındaki Resim ve Videoları tbl
(
ben TINYINT NULL DEĞİL
);
GİT
Tbl (i) içine yerleştirin
DEĞERLER (1);
GİT
DBCC IND ('tempdb', 'tbl', -1);
GİT
DBCC TRACEON (3604); - Sayfa dökümü konsola gidecek
GİT
DBCC PAGE ('tempdb', 1,168,3);
GİT
Sonuçlar (DBCC PAGE değerleri önce en az önemli baytı gösteren baytları tersine çevirdim):
Record Size = 9B
10000500 01010000 00
TagA = 0x10 = 1B
TagB = 0x00 = 1B
Null Bitmap Offset = 0x0005 = 2B
Our integer column = 0x01 = 1B
Column Count = 0x0001 = 2B
NULL Bitmap = 0x0000 = 2B (what!?)