序言:我知道有很多關於Varchar主鍵的主題。我讀過這些。這個問題略有不同,因爲我只想在狀態表上使用它。在狀態表中使用varchar主鍵
我總是在表上使用int主鍵。
但是,我發現了一個邊緣情況,它可能實際上更好地使用varchar或char列。
邊緣案例處於「狀態」表中。例如,一個訂單可能具有OPEN或FULFILLED的狀態。所以我的狀態表只能保存兩行。
在編寫查詢,我寧願寫:SELECT * FROM訂單,其中狀態= 'OPEN'
然後寫:SELECT * FROM訂單,其中StatusId = 1; //
這是否有道理?我錯過了什麼?我是一個JavaScript開發人員,而不是一個SQL人員,所以我正在這裏採取寶貝步驟。
我能看到的唯一缺點是它會佔用Orders表中稍多的空間,並且連接可能會稍微慢一點。但可讀性的回報似乎很重要。