mysql-我需要一些帮助来优化我的数据库架构

这是我的数据的布局:

Heading 1:
   Sub heading
   Sub heading
   Sub heading
   Sub heading
   Sub heading

Heading 2:
   Sub heading
   Sub heading
   Sub heading
   Sub heading
   Sub heading

Heading 3:
   Sub heading
   Sub heading
   Sub heading
   Sub heading
   Sub heading

Heading 4:
   Sub heading
   Sub heading
   Sub heading
   Sub heading
   Sub heading

Heading 5:
   Sub heading
   Sub heading
   Sub heading
   Sub heading
   Sub heading

这些标题需要具有“完成状态”布尔值,该值将链接到用户ID.

目前,这是我的表格的外观:

id  |  userID  |  field_1  |  field_2  |  field_3  |  field_4  | etc...
-----------------------------------------------------------------------
1   |     1    |    0      |     0     |     1     |     0     |
-----------------------------------------------------------------------
2   |     2    |    1      |     0     |     1     |     1     |

每个字段代表一个子标题.在我的表中有这么多列看起来效率很低…

我该如何优化呢?我想不出什么办法来修饰它:/

最佳答案
不要使用布尔值,而要使用简单的关系:

表完成状态

id user_id field_id

1  1       3
2  2       1
3  2       3
4  2       4
...

从中很容易看到用户1完成了字段3,用户2完成了字段1、3和4.

这样,您无需在要更改字段数量时就更改数据库架构.

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...