l********0 发帖数: 283 | 1 比如有这样一个表
f1 f2 f3
A1 100 100 100
A2 100 100 100
...
A10000 100 100 100
B1 100 100 null
B2 100 100 null
...
B10000 100 100 null
C1 100 null null
C2 100 null null
...
C10000 100 null null
这个表有4列,后三列是数据,100代表可能的数据,null代表无数据
一部分记录A1-A10000拥有这三列数据
一部分记录B1-B10000拥有前两列数据
一部分记录C1-C10000拥有前一列数据
办公室在讨论这样的表是否可以分解为三个表,但是分解还有两种方法
分解方法1:
一个表只有A记录,有三列
一个表只有B记录,有两列
一个表只有C记录,有一列
分解方法2:
一个表只有一列,就是f1列,包含记录A,B,C
一个表只有一列,就是f2列,包含记录A,B
一个表只有一列,就是f3列,包含记录A
(这种分解方法要增加关联)
请问不分解,分解方法1,分解方法2,哪种设计好?
谢谢。望指教。 |
p*********t 发帖数: 2690 | 2 能做成一个表就尽量做成一个表。
【在 l********0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 比如有这样一个表 : f1 f2 f3 : A1 100 100 100 : A2 100 100 100 : ... : A10000 100 100 100 : B1 100 100 null : B2 100 100 null : ... : B10000 100 100 null
|
B*****g 发帖数: 34098 | 3 what is business requirement?
【在 l********0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 比如有这样一个表 : f1 f2 f3 : A1 100 100 100 : A2 100 100 100 : ... : A10000 100 100 100 : B1 100 100 null : B2 100 100 null : ... : B10000 100 100 null
|
l********0 发帖数: 283 | 4 需求很普通,就是存储这些数据后,拿出来运算
但是每次取数据的时候,都是取A,或者取B,或者取C,不会出现某一次请求同时取A和
B和C的情况。
不知道我说清楚没有。
谢谢。
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : what is business requirement?
|
B*****g 发帖数: 34098 | 5 数据量多大?
【在 l********0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 需求很普通,就是存储这些数据后,拿出来运算 : 但是每次取数据的时候,都是取A,或者取B,或者取C,不会出现某一次请求同时取A和 : B和C的情况。 : 不知道我说清楚没有。 : 谢谢。
|
l********0 发帖数: 283 | 6 如果不分解的话,整个表记录有10万条,A,B,C各占大约1/3
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 数据量多大?
|
B*****g 发帖数: 34098 | 7 觉得一个table就行了
【在 l********0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 如果不分解的话,整个表记录有10万条,A,B,C各占大约1/3
|
l********0 发帖数: 283 | 8 好的,谢谢指教。
【在 B*****g 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 觉得一个table就行了
|