gpt4 book ai didi

mysql - 可以使用 BIT 作为主键的一部分吗?

转载 作者:行者123 更新时间:2023-11-29 05:56:48 25 4
gpt4 key购买 nike

我有一张可能已发表或仍处于草稿中的文章表,发表/草稿的比例可能约为 70/30。表格中最常见的搜索是查找已发表的文章。在执行此搜索时,我一直相信将草稿状态作为表格和 PK 的一部分会更快:

CREATE TABLE article(
id VARCHAR(6),
draft BIT(1),
content TEXT,
PRIMARY KEY(draft, id)
)

..而不是对其进行规范化,并有一个单独的表来保存 article.id 编号以表明它们仍在草稿中。

  • 我对查找额外的标准化表格的速度影响有误吗?

  • BIT 作为 PK 的一部分与最新版本的 MySQL 一起使用是否有任何问题?

最佳答案

When executing this search, I've been lead to believe it would be faster to have the draft status as a part of the table and PK

暂时忘记速度,因为这不是这里最重要的考虑因素。主键(双关语意)的主要目的是建立唯一标识整行的列子集。所以,你应该问的问题是:

  • 这个 draft 位是 article 身份的一部分吗?还是id单独标识article
  • id相同但draft状态不同的两篇文章能否同时共存?

据此,您应该考虑是否在主键中包含 draft 位。

如果您担心性能,可以考虑创建额外的索引。

关于mysql - 可以使用 BIT 作为主键的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48684428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com