一个日期使用多少字节?

时间:2014-08-12 22:31:46

标签: mysql date

MySQL手册指出类型日期的字段占用三个字节,但如果日期是0000-00-00,它是否仍然占用这些字节?如果是,是否有建议的方法来减少存储,例如将字段设置为NULL?

1 个答案:

答案 0 :(得分:4)

InnoDB(你应该使用;不使用MyISAM)对于一个为NULL的字段使用零字节,但为零值日期使用完整的字节数。

使用NULL可能允许InnoDB每页存储更多行。我说可能因为每行可能有一堆其他非空字段,所以节省的比例会很小。如果你能做到这一点,InnoDB可以在相同大小的缓冲池中容纳更多行,从而减少读取页面的I / O次数(因为它们保留在缓冲池中),从而获得更高的性能。

这些是很多条件和警告。绩效的净收益可能非常小。

我建议这不应该是优化工作的重点。专注于:

,你会获得更好的收益
  • 分析查询,以便选择正确的索引。
  • 在您的应用中根据具体情况使用Memcached进行缓存。
  • 设计应用程序架构以实现更好的扩展。
  • 升级系统RAM和缓冲池大小,直到它包含更多数据库页面。