如果我有一張充滿記錄的表格,它們可能是付款,預訂或多個其他實體,是否有最佳做法將每條記錄的狀態保存爲一個簡單的0表示不活動,1表示活動?將簡單的0或1之外的記錄狀態保存在MySQL表中的最佳方式是什麼?
例如,付款可能具有「掛起」,「已完成」或「失敗」狀態。我之前做過的方法是在另一個表中包含一系列值/文本對的定義,即。 0 ='失敗',1 ='等待'和2 ='完成'。然後,我將在支付表中存儲0,1或2,並根據需要使用內部聯接從定義表中讀取文本。
此方法有時看起來過於複雜和不必要,我一直在考慮將我的方法直接更改爲直接在付款表的狀態字段中保存單詞'completed'。
這是否被認爲是不好的做法,如果是這樣,最佳做法是什麼?
我不熟悉複合指標,並且沒有聽過術語BTREE。你是否說我應該使用定義表方法,但除此之外,還應該將狀態列聲明爲索引? – Marc
是的。你應該閱讀複合索引。現在不要擔心BTREE;幾乎每個MySQL索引都已經是BTREE。 –