Epoch与mysql中的日期和时间

时间:2014-02-01 14:51:02

标签: mysql

我有一个简单的问题。 哪种格式的时间更适合以mysql,epoch或标准日期时间(人类可读格式)存储。 我想知道在后面的表格中哪种格式会更好,它存储了数百万行,关于select语句的速度。

2 个答案:

答案 0 :(得分:5)

你想要unix时代。我做了很多非常庞大的MySQL数据库,其中一个是数据跟踪应用程序,每天为一些用户记录数百万条记录。

原因epoch优于datetime

  • int只有4个字节,而datetime只有8个字节 - 更好的存储/内存和最终的索引/性能。当你处理数百万行时,它真的很重要
  • 大多数服务器端语言无论如何都需要从字符串格式转换为int格式,然后才能重新格式化数据
  • 不依赖于时区 - 使用datetime,您需要转换未使用时区标识存储的字符串,但使用时区只需要知道时区转换为

答案 1 :(得分:0)

您可以将日期存储为字符串,使用大量空间,MySQL经过优化,可将来自Unix时间戳“epochs”的日期存储为10位数,仅使用4个字节

DateTime类型使用8个字节,因此速度会比epoch慢,但是你可能要考虑mySQL有20或30个函数可以使用DATETIME类型,所以根据你正在做什么你必须采取考虑转换所需的时间。

直接回答你的问题并不比epoch更快!