Çoğu DB'de, bir NOT NULL
sütun belirttiğiniz nedenden dolayı depolanan veriler açısından daha verimli olur ve ayrıca sorgulamak ve dizin oluşturmak için daha verimli olur; bu nedenle, bir sütunda NULL'lara izin vermek istemediğiniz sürece, bunlara açıkça izin vermemeniz gerekir.
Ekstra NOT NULL
kısıtlamaların herhangi bir INSERT veya UPDATE ile etkilediğiniz her satır için potansiyel olarak kontrol edilmesi gerekebileceğinden, ancak çoğu veritabanının göreceli yazma ve okuma ağırlığından dolayı bu bir endişe kaynağı değildir. Ekleme / güncelleme işleminin geri kalanının IO'ya bağlı olacağı ve bu nedenle çok daha önemli bir şişe boynu olduğu CPU'ya bağlı bir işlem olduğu için, fazladan zaman harcanması hiç de muhtemel değildir. msgstr "" "kodunuzu (veya diğer kişilerin kodunu) kontrol eden veri yanlışlıkla NULL'ları diğer kodun beklemeyeceği yere koyamaz ve bu yüzden onların varlığında yanlış sonuçlar verebilir.
Düzenleme: Peter yorumunda işaret ettiği gibi, yukarıdaki bir generalizmdir ve tüm DMBS'ler için geçerli olmayabilir, ancak mysql ve mssql için de oldukça eminim. Alandaki diğer komplikasyonlar, null edilebilir sütunların performans dinamiklerini değiştirecek olan seyrek tablolar (örneğin, MSSQL 2008'in uygulandığı gibi) gibi özellikleri içerebilir.
NULL
varsa, ve yalnızca izin vermelisinizNULL
.