MySQL手册指出,类型为 date 的字段占用三个字节,但是如果日期为0000-00-00 -00,它是否仍然占用这些字节?如果是,是否有建议的方法来减少存储,例如将字段设置为NULL?
发布于 2014-08-12 23:11:16
InnoDB (您应该使用;不要使用MyISAM)对于空字段使用零字节,但是对于零值日期使用完整的字节数。
使用NULL可能允许InnoDB在每页中存储更多的行。我说可能是因为每行可能有很多其他非空字段,所以节省的比例很小。如果可以这样做,InnoDB可以在相同大小的缓冲池中容纳更多的行,从而减少读取页面的频繁I/O (因为它们停留在缓冲池中),从而获得更高的性能。
这些都是很多条件和警告。对业绩的净效益可能是非常有限的。
我建议这不应该是您优化工作的重点。通过集中精力,你会得到更好的回报:
https://stackoverflow.com/questions/25275162
复制相似问题