以下为我的作法,感觉很不合理,希望学习一下。
比如:
state int ( 2 ) ,表示:0 待支付,1 已支付,2 已发货...6 交易完成
然后这个字段用 MYSQL 的注释把 123 这些表示什么注释好。
或者增加一个新的字段,把不同的状态的名字存储起来,比如:
state_value varchar ( 10 ) 。 用来记录状态的描述
大概这样设计。
然后就会遇到一些问题,假设未来增加一个备货中的状态,这个状态在 1 与 2 之间,就会很为难,那么在最后面增加一个 7 备货中,很奇怪的样子。
-----
搜索了一下,5.7 已经支持 JSON 格式了。
那么未来新的项目是否可以设计为:state json 这种类型,把状态 ID 与描述一起存进去,比如:{state:1,value:'PAY_SUCCESS',description:'已支付'}
类似这种方式?这样会不会在未来遇到排序很卡或者不好搜索之类啥的,影响非常大?
或者,是否可以升级到 8.0 版本,支持 ENUM 类型?
ENUM 索引会不会更快点?
数据库小白,求指点。