我的應用程序正在處理用戶請求。每個請求具有以下狀態:「從用戶接收到的請求的某些部分」,「接收到的所有部分」,「開始處理」,「結果已準備好」,「結果發送給用戶」。 我想將請求狀態作爲單個列存儲在數據庫中。現在我有兩個想法如何實現它:如何在數據庫中存儲狀態
使用字符串列。每個請求狀態都以文本形式存儲。對於 實例,發送給用戶的請求將具有 值「已發送」。
- (+),即使不熟悉我的代碼可以理解在尋找DB後做什麼用的要求發生了技術員
- ( - )存放我使用多個字節的請求狀態,thougn其實這個信息可以存儲在一個字節中(見第2頁)
使用整數列。每個請求狀態都存儲爲int。例如,「從用戶接收的請求的某些部分」= 1,「接收的所有部分」= 2,「開始處理」= 3,「結果準備就緒」= 4,「結果發送給用戶」= 5。
- (+)當你查看數據庫時,你無法理解發生了什麼。需要編寫一個將整數轉換爲文本表示的代碼。當你突然決定,「結果準備就緒」和「結果發送給用戶」之間應該是「用戶同意獲得結果」的狀態,你必須接受「用戶同意得到結果」的狀態將是6,而不是「結果準備就緒」(4)和「結果發送給用戶」(5)之間,這對我來說似乎有些不合邏輯。
- ( - )使用盡可能少的空間儘可能
我看到有在當一個字節是足夠使用多於一個字節沒有意義。我甚至同意寫轉換代碼(文本狀態 - >整數狀態,反之亦然)。但是我應該如何處理突然的中間狀態?有不同的方法嗎?
我的問題的後半部分是 - 我很擔心,如果我發明更多狀態,它們將是數據庫中的最後一個,而不是它們的位置。真的,這只是我對訂單的熱愛,沒什麼嚴肅的。 – Graf
我明白了。 ;-) – Bill