MySQL列是否应该始终具有默认值?
MySQL列始终具有默认值是最佳做法吗?MySQL列是否应该始终具有默认值?,mysql,ddl,Mysql,Ddl,MySQL列始终具有默认值是最佳做法吗? 这会提高性能吗? 我已将我的列设置为非空,但未指定默认值。 这种做法不好吗?如果您将其指定为非空,那么您应该有一个默认值,除非您控制输入的数据。NOTNULL意味着将始终存在一个值,因此使用默认值是一种良好的做法。是否所有列都必须不为空?否!默认值在需要时使用,但不设置性能影响 mysql列上总是有默认值是最佳实践吗 没有 这要看情况而定。 如果要确保输入合理的数据,则应not为notnull列设置默认值。 仅为具有合理默认值的列设置默认值。 如果你
这会提高性能吗?
我已将我的列设置为
非空
,但未指定默认值。这种做法不好吗?如果您将其指定为非空,那么您应该有一个默认值,除非您控制输入的数据。NOTNULL意味着将始终存在一个值,因此使用默认值是一种良好的做法。是否所有列都必须不为空?否!默认值在需要时使用,但不设置性能影响 mysql列上总是有默认值是最佳实践吗 没有 这要看情况而定。
如果要确保输入合理的数据,则应not为
notnull
列设置默认值。仅为具有合理默认值的列设置默认值。
如果你可以不使用
null
就允许null
这会提高性能吗
它会略微降低插入速度。但它可能会加快您的选择,因为您不必测试null。
当然,数据库会花费少量时间来设置默认值。
除非您批量插入,否则您不太可能注意到任何延迟。性能
- 如果要保留信息“我不知道实际值”,请使用空值
- 如果您不关心是否知道实际值,但希望确保至少存在一个默认值,请使用默认值
- 如果使用NOTNULL,请始终使用默认值
- 生日:对那些用户使用空值,你不知道生日
- isDisabled:不要使用NULL,而是将默认值设置为0;因此,如果未设置任何内容,则不会禁用用户。你决定了,所以你不需要空值