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.

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

上一篇:用C#关闭Excel的问题


下一篇:php-极慢的MySQL查询