MySQL表结构一个字段多个状态设计
场景
关于产品的状态字段:
- 需求V1.0,产品,有是否上架、是否删除的状态。之前的做法是产品表结构中定义两个字段:is_online、is_del,分别用1和0的值来判断是和否。
- 需求V2.0,新增需求,产品要有是否置顶、是否热门的状态。因为之前的表结构设计,这时候,我们就要动表结构。缺点可自行百度,这里不做赘述。
- 需求V3.0,新增是否推荐的状态。。。
面对市需求的变化,我们技术需要考虑,如何增强自身系统的可扩展性,减少成本、提高效率。回到技术本身,利用技术基础知识,优化表结构设计。
利用二进制来表示状态
百度百科:
二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。
这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1] 。
数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。
每个数字称为一个比特(Bit,Binary digit的缩写) 。
字节
字节(B