Jika bidang adalah lebar tetap, penyimpanan NULL membutuhkan ruang yang sama dengan nilai lainnya - lebar bidang.
Jika bidang adalah lebar variabel, nilai NULL tidak memakan ruang.
Selain ruang yang diperlukan untuk menyimpan nilai nol, ada juga biaya tambahan untuk memiliki kolom yang dapat dibatalkan. Untuk setiap baris, satu bit digunakan per kolom yang dapat dibatalkan untuk menandai apakah nilai untuk kolom itu nol atau tidak. Ini benar apakah kolom itu panjangnya tetap atau berubah-ubah.
Alasan perbedaan yang Anda amati dalam informasi dari sumber lain:
-
Awal artikel pertama agak menyesatkan. Artikel ini tidak berbicara tentang biaya menyimpan nilai NULL, tetapi biaya untuk memiliki kemampuan untuk menyimpan NULL (yaitu biaya membuat kolom nullable). Memang benar bahwa diperlukan sesuatu dalam ruang penyimpanan untuk membuat kolom menjadi null, tetapi setelah Anda melakukannya, dibutuhkan lebih sedikit ruang untuk menyimpan NULL daripada yang diperlukan untuk menyimpan nilai (untuk kolom dengan lebar variabel).
-
Tautan kedua tampaknya merupakan pertanyaan tentang Microsoft Access. Saya tidak tahu detail bagaimana Access menyimpan NULL tetapi saya tidak akan terkejut jika ini berbeda dengan SQL Server.