Saya mencari-cari SSMS dan melihat "ukuran" INTkolom saya adalah 4 byte (diharapkan) tapi saya agak terkejut melihat BITkolom saya adalah byte penuh.
Apakah saya salah mengerti apa yang saya lihat?
Saya mencari-cari SSMS dan melihat "ukuran" INTkolom saya adalah 4 byte (diharapkan) tapi saya agak terkejut melihat BITkolom saya adalah byte penuh.
Apakah saya salah mengerti apa yang saya lihat?
Jawaban:
Berapa banyak kolom bit yang telah Anda tetapkan dalam tabel? Saya menemukan ini di MSDN, katanya 8 atau kurang bit kolom disimpan sebagai satu byte.
Iya nih.
Jika Anda hanya memiliki satu bitkolom dalam tabel maka penyimpanan menggunakan a bytetetapi hingga 8 bitkolom dapat disimpan dalam byte yang sama sehingga 7 berikutnya "bebas" dalam hal itu.
Ada juga 1 bit per kolom kebutuhan penyimpanan untuk NULL_BITMAP(lagi dibulatkan ke byte berikutnya). Di halaman data ini berisi bituntuk semua kolom terlepas dari apakah mereka mengizinkan NULL(dengan pengecualian kolom nullable ditambahkan kemudian sebagai metadata hanya berubah melalui ALTER TABLEmana baris belum diperbarui)