【问题标题】:MySQL - best data type for simple time with hours and minutesMySQL - 以小时和分钟为单位的简单时间的最佳数据类型
【发布时间】:2010-11-22 17:48:40
【问题描述】:

我需要在我的 MySQL 5 数据库中表示任务的到期时间。
然后,我需要像这样存储时间:
_ 18
_ 9:15
_ 12:00

现在我很纠结是使用时间数据类型还是仅使用 4 位整数,因为我只需要存储小时和分钟。
在第二种情况下,我会存储:
_ 1800
_ 0915
_ 1200

这两种方法的含义是什么?
鉴于最重要的要求是在庞大的数据集(数百万行)中具有高性能,您会实施哪种解决方案?

应用程序代码是用 PHP 编写的。

编辑:我在想一个重要的观点。如果我使用整数,我需要在显示时间(插入分号)时使用 PHP 进行一些字符串操作,这可能会使使用整数的增益无效

谢谢,

【问题讨论】:

  • 你在什么情况下需要高性能?查询数百万行?插入?订购?

标签: mysql performance


【解决方案1】:

使用time 数据类型。主要好处将是重用 MySQL 中嵌入的现有时间函数。

使用smallint(仅2 个字节)在空间方面可能会更有效,但您将失去使用现有函数对语义为time 值的字段进行操作的能力。我可以将格式化函数、时差、时区视为可以立即利用 time 数据类型的场景示例。

【讨论】:

    【解决方案2】:

    MySQL 的 TIME 数据类型只占用 3 个字节。用它。

    http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多