(1.1)mysql 選擇合適的數據類型
阿新 • • 發佈:2019-03-08
datetime nal 同時 字段類型 字符 可能 使用 日期 inf
(1.1)mysql 選擇合適的數據類型
1、char與varchar
【1.1】char 在內容未滿定義長度時,做空格填充,且字符串末尾空格會被截斷;超出定義長度也會被截斷。 如:char(4) ‘abcde‘ => ‘abcd‘
【1.2】varchar 在內容未滿定義長度時,內容是多少就占多少,以\0 為系統自動加上的默認結束符。額外多占一個字節。
2、浮點與定點(float/decimal)
【2.1】浮點:當插入數值超過浮點定義時設置的精度時,會四舍五入截斷。
【2.2】定點:當插入數值超過浮點定義時設置的精度時,默認sqlmode下也會會四舍五入截斷(但有警告)。在傳統模式(traditional)下的話,會報錯。
浮點在插入數據時,可能會丟失精度;做算數運算的時候也會有誤差。
3.日期的選擇
【3.1】date 【3.2】time 【3.3】datetime 【3.4】timestamp
如果只需要記錄年,則用year類型即可;
選擇原則:
(1)用最小的字段類型來記錄數據且能保證擴展與可用性;
(2)如果要記錄年月日時分秒,最好使用datetime類型而不是timestamp,因為timestamp記錄的時間範圍短很多。
(3)如果記錄的日期需要讓不同時區的用戶使用,最好使用timestamp,因為日期類型中只有它能夠和實際時區想對應。
(1.1)mysql 選擇合適的數據類型