SSMS etrafında alay ve benim INTsütun "boyutu" 4 bayt (beklenen) olduğunu fark ettim ama benim BITsütun bütün bir bayt olduğunu görmek için biraz şok oldu .
Neye baktığımı yanlış anladım mı?
SSMS etrafında alay ve benim INTsütun "boyutu" 4 bayt (beklenen) olduğunu fark ettim ama benim BITsütun bütün bir bayt olduğunu görmek için biraz şok oldu .
Neye baktığımı yanlış anladım mı?
Yanıtlar:
Tabloda kaç bit sütunu tanımladınız? Bunu MSDN'de buldum, 8 veya daha az bit sütununun bir bayt olarak saklandığını söylüyor.
Evet.
bitTabloda yalnızca bir sütun varsa depolama alanı aynı baytta byte8'e kadar bitsütun kullanır , bu nedenle sonraki 7 bu açıdan "ücretsiz" olur.
Sütun depolama gereksinimi için 1 bit NULL_BITMAPdaha vardır (yine bir sonraki bayta yuvarlanır). Veri sayfalarında, bitizin verip vermediklerine bakılmaksızın tüm sütunlar için bir içerir NULL( daha sonra bir meta veri olarak eklenmiş nullable sütunlar hariç , yalnızca ALTER TABLEsatırın henüz güncellenmediği yerde değişir )