3

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

首先,人们将能够为每一天设定一个特定的价格。

例如:

2011 年 3 月 8 日:1 美元

2011 年 3 月 9 日:2 美元

2011 年 3 月 10 日:5 美元

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

第一种方法:

UNIX 时间戳

优点

  • 只有一个字段

缺点

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

月日年

优点

  • 更容易搜索

缺点

  • 更多领域
  • 占用更多空间
  • 将存储大量数据,因此可能会减慢数据库速度。

有了以上信息,您的建议是什么?(如果有任何不清楚的地方,我可以澄清一下。)

4

3 回答 3

9

时间戳/日期时间/日期字段更有效(它们都存储为整数)。
所以搜索快得多。
不同日期格式之间的转换开销很小(非常),但是,除非您按日期字段加入(这......通常......不聪明)你没有问题,它只会发生一次。
我看不出它是如何容易出错的。

于 2011-03-09T01:58:16.603 回答
4

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

于 2011-03-09T01:57:46.020 回答
2

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

于 2011-03-09T01:57:15.943 回答