![]() |
1
15
别管它了! 数据库将非常有效地打包多个位字段。我见过有人这样做,比如有一个32位的int字段,这样就允许他们使用位掩码存储17个布尔值,并“为其他字段留出一些空间”。这是愚蠢的,这是一个维护的噩梦,你的查询变得乱七八糟的位掩码,使他们难以维护。
|
![]() |
2
0
不要将FK(ValueID)放入主表,而是将MainID放入第二个表。 从你的问题中不清楚的一些事情:如果一个值没有被设置,这是否等同于一个假值,或者你有三元逻辑的空值?如果是后者,则必须在第二个表中放入一个布尔字段。否则,第二个表中没有记录就足以给出逻辑错误。
|
![]() |
3
-1
只是一个想法,你可以使用int来存储位,按位操作是有效的,但是我不知道SQL支持它们有多好。在C#中有位枚举,因此可以直接保存它的值。 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 4 月前 |
![]() |
Marc Guillot · 记录值时忽略冲突 5 月前 |
![]() |
Fachry Dzaky · 正确使用ROW_NUMBER 5 月前 |
![]() |
TriumphTruth · 从满足特定条件的数据集中选择1行 5 月前 |