首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用时间戳作为主要的关键好主意- mysql/mariadb吗?

问使用时间戳作为主要的关键好主意- mysql/mariadb吗?
EN

Database Administration用户
提问于 2017-03-28 08:05:24
回答 1查看 16.4K关注 0票数 8

我们只是认为在microsoft的sqlserver中存储时间戳确实保证了唯一性,但是对于mysql/mariadb,我有点怀疑,因为我们在插入mysql/mariadb数据库时使用的是并行执行。

那么,使用时间戳作为主要关键的好主意- mysql/mariadb吗?

PS:总是有PK和状态,但是如果我们使用时间戳作为where子句来存档/删除实际的剩余记录(这样就可以高效地查询记录),那么它就很重要了,它是唯一的

。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2017-03-28 08:47:21

因为几个原因,这是不好的。首先,盲目地分配生成的p.k。因为每一种关系都是不好的行为。至少要确定每个关系中有哪些候选键。一个超生的p.k.在某些情况下,这可能是最明智的选择,但在所有可能的情况下肯定不是这样。候选密钥的好属性是:

  • 独一无二
  • 不可约
  • 非络合
  • 稳定型
  • 似曾相识

通常情况下,这些标准之间会有冲突,而你不得不为了另一个而牺牲。

其次,如果最好的选择是代理标识符,我会说时间戳是一个糟糕的选择。特别是在MySQL/MariaDB the (MySQL) 5.6.4中,分辨率为秒。在这些DBMS中使用时间戳作为p.k意味着您不能插入超过一行/秒(只要时间戳应该反映插入时间)。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/168356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档