gpt4 book ai didi

mysql - 数据库设计: Difference between using boolean fields and duplicate tables

转载 作者:行者123 更新时间:2023-11-29 16:29:13 27 4
gpt4 key购买 nike

我必须为我正在构建的应用程序设计一个数据库架构。我将使用 MySQL。在此应用程序中,用户输入数据,显然它会保存在数据库中。然而,在用户发布数据之前,公众无法访问这些数据。目前,我有一列用于存储所有数据。我想知道此表中指示数据是否已发布的 bool 字段是否是一个好主意。或者,更好的设计是创建一张用于保存数据的表和一张用于发布数据的表,并在用户按发布时将保存的数据移动到发布数据表。

使用每种方法的优点和缺点是什么?其中一种设计是否比另一种更好?

最佳答案

大小写:二进制

它们大致相等。将此作为学习练习——以一种方式实现;观看一段时间,然后切换到其他方式。

  • (相同)空格:由于一行只存在一次,因此这两个选项都不是“更好”。
  • (支持 1 个表)“发布”时,需要一个事务以原子方式从一个表中删除并插入到另一个表中。
  • (喜欢 2 个表)某些 SELECT 会花时间过滤掉具有其他值 published 的记录。 (这适用于deletedembargoedapproved以及许多其他可能的 bool 标志。)

案例:修订历史

如果一条记录有很多修订,则最好使用两个表,当前数据和历史。这是因为“重要”查询涉及获取唯一的当前数据。

(PARTITIONs 在这两种情况下都不太可能有帮助。)

关于mysql - 数据库设计: Difference between using boolean fields and duplicate tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54049054/

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