Mysql時間欄位格式如何選擇,TIMESTAMP,DATETIME,INT?
Mysql時間欄位格式如何選擇,TIMESTAMP,DATETIME,INT?
首先 DATETIM和TIMESTAMP型別所佔的儲存空間不同,前者8個位元組,後者4個位元組,這樣造成的後果是兩者能表示的時間範圍不同。前者範圍為1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,後者範圍為1970-01-01 08:00:01到2038-01-19 11:14:07。所以可以看到TIMESTAMP支援的範圍比DATATIME要小,容易出現超出的情況.
其次,TIMESTAMP型別在預設情況下,insert、update 資料時,TIMESTAMP列會自動以當前時間(CURRENT_TIMESTAMP)填充/更新。最主要的區別-受時區影響不同。timestamp
會跟隨設定的時區變化而變化,而datetime
儲存的是絕對值不會變化。
一個timestamp
欄位,一個datetime
欄位,修改時區SET TIME_ZONE = "america/new_york";
後,timestamp
欄位的值變了!
因此,如果應用場景有跨時區要求的要特別注意這點。
第三,TIMESTAMP比較受時區timezone的影響以及MYSQL版本和伺服器的SQL MODE的影響。
所以一般來說,我比較傾向選擇DATETIME,至於你說到索引的問題,選擇DATETIME作為索引,如果碰到大量資料查詢慢的情況,也可以分割槽表解決。
INT存時間戳。佔用資源少,查詢速度快。條件範圍搜尋使用between沒什麼問題。查詢條件自由拼接。用int還是比較好的。如果你要在表示時間欄位上建立索引,那麼使用INT索引效率要高。
相關文章
- Mysql - 如何決定用 datetime、timestamp、int 哪種型別儲存時間戳?MySql型別時間戳
- 【MySQL】時間型別儲存格式選擇MySql型別
- MySQL 5.7 datetime和timestamp欄位設定default 0 插入資料包錯MySql
- MySQL: datetime vs timestampMySql
- QXMySQL 中 datetime 和 timestamp 的區別與選擇lypMySql
- MySQL為欄位新增預設時間(插入時間)MySql
- mysql 行格式選擇_Mysql 行格式MySql
- mysql-資料庫欄位date datetimeMySql資料庫
- MySQL中欄位型別與合理的選擇欄位型別;int(11)最大長度是多少?varchar最大長度是多少?MySql型別
- java儲存時間date到mysql的datetime格式的方法JavaMySql
- MySQL案例之Timestamp和DatetimeMySql
- win7 中 IIS 7 now() 等時間日期函式返回格式問題(不匹配 ACCESS 的 datetime 欄位的格式)Win7函式
- MySQL數字型別int與tinyint、float與decimal如何選擇MySql型別Decimal
- MySQL 5.6 timestamp和datetime區別MySql
- 教你如何使用MySQL中CURRENT_TIMESTAMP時間戳MySql時間戳
- GO專案實戰 — Gorm格式化時間欄位GoORM
- 分割槽欄位VALUES LESS THAN時間格式及轉換
- mysql資料庫時間型別datetime、bigint、timestamp的查詢效率比較MySql資料庫型別
- C#中,時間格式轉化,ticks,datetimeC#
- Mysql中的Datetime和Timestamp比較MySql
- MySQL中datetime和timestamp的區別MySql
- date、timestamp欄位型別型別
- 關於My97DatePicker時間外掛選擇周的時間格式
- 資料庫int欄位超限資料庫
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- element-ui 時間選擇器設定時間選擇範圍UI
- BeanUtils.copyProperties 選擇性賦值欄位Bean賦值
- mysql資料庫date 、datetime、time、timestamp區別MySql資料庫
- mybatis自動填充時間欄位MyBatis
- 自定義時間選擇器
- 時間選擇外掛ClockPickerKPI
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- python date 和 datetime 的取值範圍(對比 Mysql 的 datetime 和 timestamp)PythonMySql
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- pbootcms模板如何呼叫時間 時間格式大全boot
- pandas dataframe 時間欄位 diff 函式函式
- MySQL多個timestamp欄位自動新增預設值的問題MySql
- 帶毫秒的字元轉換成時間(DateTime)格式的通用方法字元