我必須存儲大約10個int,使用10個int列還是隻有varchar列的白色值被字符分割才更好?mysql,多列或varchar列?
我永遠不需要索引這些列或做數學運算。
DATAS的爲例可以是:
在(指論壇)線程的排 的評論數|票數|合作伙伴數量
這些數據只需要緩存,而不是經常更新。
我必須存儲大約10個int,使用10個int列還是隻有varchar列的白色值被字符分割才更好?mysql,多列或varchar列?
我永遠不需要索引這些列或做數學運算。
DATAS的爲例可以是:
在(指論壇)線程的排 的評論數|票數|合作伙伴數量
這些數據只需要緩存,而不是經常更新。
我會使用分隔的整數。幾方面的原因:
要提供一些更復雜的答案,您需要對問題有更深入的瞭解。
編輯:不要相信你會節省空間。 INT始終爲4個字節,數量爲varchar需要1個字節用於每個數字+分隔符。因此,如果您存儲的號碼超過999,您實際上會釋放空間。
mysql不在列之間使用分隔符? – rodi 2011-03-29 13:54:17
值得開個別問題:) – 2011-03-29 14:01:52
取決於您的需求。 int列的性能更好,varchar節省存儲空間。
我不同意這裏。 INT總是4個字節。編號2147483647仍然適用於表示爲varchar的INT將佔用11個字節。每個數字將表示爲varchar時最多佔用10個字節+分隔符。 – 2011-03-29 13:11:03
我寧願單獨存儲值,但它主要取決於它是什麼樣的數據。在特定情況下將它們存儲在一起會更好。
10 INT列 - 與排斥,如果他們只需要顯示
如果你永遠都需要訪問你應該將它們存儲在不同的領域的各個整數。根據預期用途,最好爲整數提供一個單獨的表格,但考慮到您的問題,很難確定這是否適用。
分享和享受。
10個整數列將佔用更少的空間。 1整數= 4字節(除非它是長整型)。所以不管輸入什麼,總是有40個字節,而varchar可以增長,你需要浪費一個字節作爲分隔符。
使用單獨的Integer列。
參數:
- 一個整數值需要較少量的數據庫比它的字符串表示
- 在未來,你將能夠在任何這些列的做業務搜索/過濾/和/平均值。
- 它會確保保存的數據是整數,任何保存其他東西的嘗試都會產生錯誤。
他們是一些特殊的情況,它可能會更準確地保存字符串中的數據,但我們需要知道更多的判斷。
更新的問題 – rodi 2011-03-29 13:48:18