如果出现以下情况,您是否强烈建议取消选中表中列的NULL:
因此,如果您为上述列选中“NULL”复选框(即允许NULL),它会影响性能吗?
我希望答案(至少对MySQL来说)是:
答案 0 :(得分:1)
是的,我建议您创建任何不需要NULL,NOT NULL的列。
在我看来,它是SQL中的“错误”之一,默认情况下启用了NULL。
原因与性能无关,但与应用程序的正确性无关。如果你有一个必须的列值,那么使它成为非NULL更有意义(实际上,NULL值将是一个错误)。如果有意义,请使用DEFAULT值。
简而言之:除非数据库结构中存在有效的原因,否则任何列都不应该为空。
另请注意,NULL在唯一索引中执行“特殊”操作 - 允许使用NULL的多行。