1、假設這個表有10萬條資料
2、查詢條件是WHERE Name=‘隊長’
3、查詢條件是WHERE Name=‘1’
1 代表的就是隊長,0代表的就不是隊長
查詢中文‘隊長’會比查詢‘1’慢很多嗎?
我有必要在資料庫里在增加一個這樣的欄位用來作為查詢使用嗎?還是就直接查詢中文隊長呢?
uj5u.com熱心網友回復:
理論上,隊長或1,查詢效率上其并不會有太大區別。正常情況下,我們會把“隊長”、“副隊長”、“成員”這類的做為字典資料,并對其進行管理。而在其他使用到的地方是參考對應編碼(或ID)。
至于你想再增加一個專門為1而存盤的欄位,在技術上是可以實作的(不考慮是不是合理的情況下)。
效率、存盤、安全是資料庫設計時最為基本要考慮的。基于這次的問題,個人建議你需要再學習一下“資料庫范式”。
uj5u.com熱心網友回復:
樓主想太多了,如果改成數字型1、0表示隊長、非隊長,比使用字符型要快一些(在都有索引的情況下也差別很小),同樣是字符型, '隊長'和'1'的查找效率是一樣的(假設有索引)轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/186387.html
標籤:數據庫相關
上一篇:上次掛在了京東Java二面不服氣, 三月之期已到,這次終于拿下offer!
下一篇:正則運算式如何實作?
