MySQL手册指出类型日期的字段占用三个字节,但如果日期是0000-00-00,它是否仍然占用这些字节?如果是,是否有建议的方法来减少存储,例如将字段设置为NULL?
答案 0 :(得分:4)
InnoDB(你应该使用;不使用MyISAM)对于一个为NULL的字段使用零字节,但为零值日期使用完整的字节数。
使用NULL可能允许InnoDB每页存储更多行。我说可能因为每行可能有一堆其他非空字段,所以节省的比例会很小。如果你能做到这一点,InnoDB可以在相同大小的缓冲池中容纳更多行,从而减少读取页面的I / O次数(因为它们保留在缓冲池中),从而获得更高的性能。
这些是很多条件和警告。绩效的净收益可能非常小。
我建议这不应该是优化工作的重点。专注于:
,你会获得更好的收益