什么对性能和可读性更好:一个布尔类型的状态列还是一个varchar类型的状态列?
- 论坛
- 什么对性能和可读性更好:一个布尔类型的状态列还是一个varchar类型的状态列?
22 浏览
什么对性能和可读性更好:一个布尔类型的状态列还是一个varchar类型的状态列?
这个问题已有答案:
我正在创建一个Laravel应用,一些数据表会有一个状态列,仅接收两个值:ACTIVE
或INACTIVE
。
我认为有两个选择:
- 布尔值,通常在MySQL上设置为
tinyint(1)
- varchar,并设置
ACTIVE
或INACTIVE
字符串值
重要的问题是我应该选择哪种类型:
- 第一种类型在数据库上的存储更小,如果我将列名设置为is_active,则在代码中使用起来很容易,但会使数据库更难以被人阅读;
- 第二种类型将需要更多空间保存在数据库中,并且在模型中使用一些类常量使事情更加整洁,但会使数据库更容易被人阅读(以及可能添加到项目中的新开发人员)。
我应该选择哪种方式以实现良好的性能和可读性?
编辑:
我的问题是如果需要直接在数据库中编辑某些内容,则开发人员阅读/理解数据库的难度/复杂度,而不是存储和性能问题。
admin 更改状态以发布 2023年5月20日