- 時間應(yīng)該用什么存
https://segmentfault.com/q/1010000000655428
這個問題是咱們程序員典型的架構(gòu)權(quán)衡問題吃溅,甚至可以說鉆牛角尖(當(dāng)然有時候鉆牛角尖不是不好)耀石。
題主,其實無論你存時間戳還是用mysql的datetime儡率,甚至是存字符串或杠,這基本上都不會造成系統(tǒng)瓶頸融蹂,你應(yīng)該把80%的時間用在解決系統(tǒng)性能消耗占比80%的問題上去然走。
我們阿里的系統(tǒng),能夠支撐單日億級的寫操作决瞳,讀是多少大家更可以YY货徙,而其中使用mysql的系統(tǒng),時間就用的datetime皮胡,所以你完全不用擔(dān)心性能的問題了痴颊。
用datetime還有個顯而易見的好處,可讀性高屡贺。1409556216984蠢棱,這個時間戳沒有人能看出來是什么時間锌杀,對未來問題排查和定位也會加大復(fù)雜度。
- 各種 int 類型 之間的區(qū)別
MySQL - The difference between int, bigint, mediumint, smallint, and tinyint
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT | 1 | -128 | 0 | 127 | 255 |
SMALLINT | 2 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3 | -8388608 | 0 | 8388607 | 16777215 |
INT | 4 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8 | -2^63 | 0 | 2^63 -1 | 2^64-1 |
MySQL 整型長度的含義
MySQL的 int 和 tinyint 的默認(rèn)長度是 int(11) 和 tinyint(4), 而boolean 型實際存儲的是 tinyint(1).
定義位數(shù)并不會影響占用空間和性能, 也不會影響存儲的數(shù)字范圍
- 全局唯一id分配
暫無合適解決方案
- 業(yè)務(wù)邏輯放在代碼里還是數(shù)據(jù)庫里
大多放在代碼里比較好吧, 易維護