最有效的数据库日期存储方法?

时间:2011-03-09 01:55:02

标签: php sql date space-efficiency

所以我希望在我的SQL数据库中存储一个日期,并且不确定最有效的方法是什么。我想到了两种不同的方法。

首先,人们可以为每一天设定一定的价格。

例如:

  

2011年3月8日:1美元

     

2011年3月9日:$ 2

     

2011年3月10日:5美元

对于我的数据库,我考虑的是存储UNIX时间戳,或者在单独的字段中存储月,日和年。

第一种方法:

UNIX时间戳

专业人士

  • 只有一个字段

缺点

  • 必须将日期转换为时间戳
  • 必须在开始和结束日期之间进行搜索
  • 容易发生搜索错误

月/日/年

专业人士

  • 更容易搜索

缺点

  • 更多字段
  • 占用更多空间
  • 将存储大量数据,因此可能会降低数据库速度。

根据以上信息,您的建议是什么? (我可以澄清其中任何一项是否不清楚。)

3 个答案:

答案 0 :(得分:9)

timestamp / datetime / date字段更有效(它们都存储为整数) 因此,搜索更多更快 不同日期格式之间的转换有一个小的(非常)开销,但是,除非你按日期字段加入(通常......不聪明)你没有问题,它只会发生一次。 /> 我不明白它是如何容易出错的。

答案 1 :(得分:4)

使用DATE字段,这就是他们的目标。

答案 2 :(得分:2)

您可以使用DATETIME或DATE列类型 - 易于搜索且只需一列,并且可以在日期范围内轻松搜索...