![]() |
1
6
位字段通过自动执行当前隐式业务规则(即,此列只能包含“Y”或“N”)来帮助您的逻辑。如果以编程方式强制执行该规则,则可以通过消除该开销来节省开销。由于基数较低,单独索引位列的价值不大,但它可以作为复合索引的一部分。
|
![]() |
2
10
除非你有充分的理由做出这样的改变,否则我不会为这种改变提供任何论据。i、 e.你必须平衡改变的成本与你个人所做/喜欢的事情,以及实际实施的成本和好处。 您是否检查过使用nchar(1)是否会损害性能,或者是否落入过早优化的陷阱?你说的只是一百万张唱片。
|
![]() |
3
6
找到NCHAR(1)而不是bit的一个常见原因是Oracle不支持位类型。如果你有一个甲骨文或甲骨文训练有素的开发人员,或是一个在甲骨文上运行的数据库,你会看到很多。在Sql Server中,确实不需要这样做。 真正地 want是一个datetime,它指示的不是标志值的多少,而是它何时变为真。这种情况并不总是这样,但当我回想起我写的旧代码时,我猜5次中有4次我使用了位字段,我应该使用datetime。 |
![]() |
4
3
创建位字段,添加一个模拟nchar(1)的计算列。 不使用nchar的内容:
也就是说,我们使用smalldatetime“WhenInactive”字段代替“IsActive”字段。空=活动。 |
![]() |
5
2
如果您使用的是LINQ2SQL或实体框架
|
![]() |
6
1
字段是否广泛用于查询
如果是这样的话,我会考虑做一个测试,看看把它改成bit是否会影响性能。
|
![]() |
7
1
使用位:
|
![]() |
8
0
|
![]() |
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 1 年前 |
![]() |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
Java · 使用交叉应用同时显示两列 2 年前 |