微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 使用timestamp作为主键好主意 – mysql / mariadb?

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

那么,使用时间戳作为主键好主意 – MysqL / mariadb?

PS:总有一个PK和状态,但是如果我们使用timestamp作为where子句来获取存档/删除的实际剩余记录(这样可以有效地查询记录),这一点很重要.因此它的重要性独特

解决方法:

由于几个原因,IMO很糟糕.首先,盲目地分配生成的p.k.因为每个关系都是不好的做法.至少尝试识别每个关系中的候选键.一个普遍的p.k.在某些情况下可能是最明智的选择,但在所有可能的情况下绝对不是这样.候选键的良好属性是:

>独特
>不可减少
>非复杂
>稳定
>熟悉

通常这些标准之间存在冲突,您必须牺牲彼此.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐