[设计]关于状态的存储设计
也许大家都遇到过。
类似如下的流程:
是关于一条单子(纪录)状态转变的问题。
状态1-〉处理2-〉状态3-〉处理3-〉状态4...
电话挂机状态-〉提机-〉拨号音状态-〉拨号-〉接通或失败状态
一个处理有可能分出不同的状态,一个状态也有可能由不同的处理而来。
为了迅速准确查询记录现在的状态和经过的所有处理。
数据库通常怎么存储。
process status
100000100 8
process(nvarchar(9)):`按位存储做过的处理
status :`当前状态
现在问题是:
1。在process上如果想查询所有经过第7步处理的数据,索引怎么利用才好?
2。有时业务变化频繁,需要在第1步和第2步处理之间插入一步处理。怎样灵活对应才好?
[解决办法]
现在问题是:
1。在process上如果想查询所有经过第7步处理的数据,索引怎么利用才好?
假设有八个状态,定义一个8位的字符串(每一位的0-9或A-Z可以代表不同的状态)
有几个状态,该字符串就有几位.
[解决办法]
用字符串可以(加位),用字段也可以(加字段),最好不要用一个字符表示,变化不灵活