我的应用程序正在处理用户请求。每个请求具有以下状态:“从用户接收到的请求的某些部分”,“接收到的所有部分”,“开始处理”,“结果已准备好”,“结果发送给用户”。 我想将请求状态作为单个列存储在数据库中。现在我有两个想法如何实现它:如何在数据库中存储状态
使用字符串列。每个请求状态都以文本形式存储。对于 实例,发送给用户的请求将具有 值“已发送”。
- (+),即使不熟悉我的代码可以理解在寻找DB后做什么用的要求发生了技术员
- ( - )存放我使用多个字节的请求状态,thougn其实这个信息可以存储在一个字节中(见第2页)
使用整数列。每个请求状态都存储为int。例如,“从用户接收的请求的某些部分”= 1,“接收的所有部分”= 2,“开始处理”= 3,“结果准备就绪”= 4,“结果发送给用户”= 5。
- (+)当你查看数据库时,你无法理解发生了什么。需要编写一个将整数转换为文本表示的代码。当你突然决定,“结果准备就绪”和“结果发送给用户”之间应该是“用户同意获得结果”的状态,你必须接受“用户同意得到结果”的状态将是6,而不是“结果准备就绪”(4)和“结果发送给用户”(5)之间,这对我来说似乎有些不合逻辑。
- ( - )使用尽可能少的空间尽可能
我看到有在当一个字节是足够使用多于一个字节没有意义。我甚至同意写转换代码(文本状态 - >整数状态,反之亦然)。但是我应该如何处理突然的中间状态?有不同的方法吗?
我的问题的后半部分是 - 我很担心,如果我发明更多状态,它们将是数据库中的最后一个,而不是它们的位置。真的,这只是我对订单的热爱,没什么严肃的。 – Graf
我明白了。 ;-) – Bill