考虑两个SQL语句。
ALTER TABLE books ADD COLUMN num_sold int DEFAULT 0
与
ALTER TABLE books ADD COLUMN num_sold int
一般的想法是,在一种情况下我们设置一个默认值,在下一个我们只是让它从NULL开始。
对于具有默认值的版本,数据库负载是否会显着增加?更一般地说,我想知道在这两种情况下,“引擎盖下”会发生什么变化 - 磁盘上需要更改的内容,创建的锁定以及持续时间等等。
答案 0 :(得分:1)
如果您意识到省略默认值与default null
相同,则可能会有所帮助。
在记录中设置值时,所有值都会同时设置。无论是提供值(在insert
/ load
机制中)还是从元数据确定的值,在性能方面都会产生非常微不足道的差异。这不是你应该担心的事情。