MySQL:使用DATETIME作为主键

Gor*_*oro 1 mysql database-design

我的数据库将存储大量数据点,因此我使用无符号BIGINT作为主键.

使用DATETIME对象作为主键是否有意义?

谢谢,

nvo*_*gel 16

是的,如果您需要唯一地识别离散点或时间段,那么将日期/时间作为键的一部分或一部分是有意义的.我不能说这是否适用于您的场景,但作为一般规则,没有根本原因为什么密钥不能基于时间 - 几乎任何数据仓库都可以.

  • TehShrike - 时间精度始终是相对的.唯一的问题是你需要多少精度.事实上,我没有回答MySql案例,而是针对按时确定密钥的更一般情况.但这并不重要,因为每个DBMS对可记录的时间精度都有一些限制. (5认同)
  • DATETIME不能用于唯一地识别离散时间点 - 它只能用于识别离散的*秒*及时. (2认同)

小智 5

不,因为它不能保证是独一无二的.坚持用BIGINT.你可以在DateTime上放一个很好的索引进行查询,这样就足够了.