|
|
1
15
别管它了! 数据库将非常有效地打包多个位字段。我见过有人这样做,比如有一个32位的int字段,这样就允许他们使用位掩码存储17个布尔值,并“为其他字段留出一些空间”。这是愚蠢的,这是一个维护的噩梦,你的查询变得乱七八糟的位掩码,使他们难以维护。
|
|
|
2
0
不要将FK(ValueID)放入主表,而是将MainID放入第二个表。 从你的问题中不清楚的一些事情:如果一个值没有被设置,这是否等同于一个假值,或者你有三元逻辑的空值?如果是后者,则必须在第二个表中放入一个布尔字段。否则,第二个表中没有记录就足以给出逻辑错误。
|
|
|
3
-1
只是一个想法,你可以使用int来存储位,按位操作是有效的,但是我不知道SQL支持它们有多好。在C#中有位枚举,因此可以直接保存它的值。 |
|
|
developer · 带外键的SQL表设计 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
b126 · 在两种不同的Oracle模式上执行相同查询的速度差异很大 2 年前 |
|
|
robertspierre · 在多对多关系中自动删除未引用的行 2 年前 |
|
|
Michael Samuel · MYSQL在以下情况下自动创建索引 8 年前 |