使用位数据类型将 true / false 值存储到sql数据库中是否切实可行?我读到有些人使用 tinyint(1),但我不知道为什么?它在性能上有所不同,更实用吗?是转换为布尔类型时的任何问题?
答案 0 :(得分:2)
实际上,我认为你的意思是优于使用另一种方法来存储布尔值。 SQL Server隐式地将布尔值转换为bit
类型,因此其他好处(主要是使用bit
类型存储为1字节,非常有效),因为你&#使用它是有意义的39;为自己减少工作量,不需要默认或约束。但是tinyint
(也存储为1个字节)可以自然地存储最多255个值,并且在尝试从应用程序层隐式转换布尔值时可能会遇到转换错误。
TL; DR始终使用合适的类型。 bit
类型适用于布尔值,因此没有理由不来使用它。