一尘不染

真/假vs MySQL中的0/1

mysql

在MySQL数据库中哪个 更快 ?布尔值,还是使用零和一来表示布尔值?我的前端只有一个是/否单选按钮。


阅读 408

收藏
2020-05-17

共1个答案

一尘不染

启用了“使用布尔值”选项的某些“前端”会将所有TINYINT(1)列都视为布尔值,反之亦然。

这允许您在应用程序中使用TRUE和FALSE而不是1和0。

这根本不影响数据库,因为它是在应用程序中实现的。

BOOLEANMySQL中没有真正的类型。BOOLEAN只是TINYINT(1)的同义词,而TRUE和FALSE是1和0的同义词。

如果转换是在编译器中完成的,则应用程序的性能将没有差异。否则,差异仍然不会明显。

尽管不使用此功能可能会减少对特定“前端”供应商的依赖,但应使用允许您更有效地编码的任何方法。

2020-05-17