我正在努力一點存儲數據的最佳方式 - 直接來自用戶的「原始」數據與需要翻譯的「編碼」數據。下面是說明其中測量患者的血壓選擇列表中的一個具體的例子:數據存儲爲VARCHAR與INT,「翻譯」服務器端與客戶端
<select id="location">
<option value="1">Office</option>
<option value="2">Home</option>
<option value="3">Hospital</option>
<option value="4">Work</option>
<option value="5">Other</option>
</select>
在過去,我會作出存儲變量的VARCHAR,只是保存它作爲全部小寫的「辦公室」,「家「,」醫院「,」工作「,」其他「。但在過去一個月中,我一直在想,也許更「優雅」的方法是將其存儲爲整數「代碼」(如上面的示例中所示),然後在從表中讀取時翻譯它,如此服務器端翻譯:
$location=$row['location'];
if ($location == '1') {$location = "Office";}
else if ($location == '2') {$location = "Home";}
else if ($location == '3') {$location = "Hospital";}
else if ($location == '4') {$location = "Work";}
else if ($location == '5') {$location = "Other";}
所以,我的小白問題,你有點哲學 -
你總是/ SOMETIMES存儲數據的「原始」 VARCHAR數據,還是你的「代碼」與整數/布爾等?你有做標準嗎?
如果您對數據進行「編碼」,您是否在服務器端或客戶端「解碼」它?
我事先感謝您的想法。
oooooooooooooo ooooooh ...光剛剛熄滅!我認爲單個整數的存儲效率會更高,但根據您的第一條評論,我猜不是。幸運的是,我的頁面上只有6個「幻數」,我可以更改爲枚舉類型。謝謝!謝謝!謝謝! 「幻數不好」「幻數不好」「幻數不好」「幻數不好」「幻數不好」 - :-) – TimSPQR