我们知道MYSQL的datetime数据类型占用了更多的TIMESTAMP内存。为了快速开发,我使用的是cakephp2.x。 我担心的是为什么我们没有将TIMESTAMP用于数据库中的创建和修改字段。我读了cakephp2.x文档,他们没有明确说明技术术语中的原因。期待专家给出好的答案!
提前谢谢
答案 0 :(得分:5)
主要区别在于DATETIME是常量,而TIMESTAMP受time_zone设置的影响。
此外,如果你没有数十亿行(4字节Vs 8字节,但仍然没有真正的话),两者所需的空间可以看作几乎相同。日期时间字段也可用于轻松比较和计算。
我的建议:所以只要坚持日期时间,不要创造一个没有真正问题的问题。 在开始开发应用程序时,通常会遇到更麻烦的问题。
答案 1 :(得分:-1)
对我来说,多次证明自己应该避免使用CakePHP的创建和更新的自动字段,或者至多用于取证记账(即你不应该在你的应用程序中使用它的值)。
它不灵活,缺乏国际化等定制,可以提高效率。
每当我需要存储时间时,我都会在INT字段中作为Unix时间戳。这也适用于多个时区和不同的环境(例如DB与PHP中的TZ)。