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: datetime vs timestampMySql
- MySQL 5.7 datetime和timestamp欄位設定default 0 插入資料包錯MySql
- QXMySQL 中 datetime 和 timestamp 的區別與選擇lypMySql
- mysql-資料庫欄位date datetimeMySql資料庫
- mysql資料庫時間型別datetime、bigint、timestamp的查詢效率比較MySql資料庫型別
- MySQL中datetime和timestamp的區別MySql
- Mysql中的Datetime和Timestamp比較MySql
- MySQL為欄位新增預設時間(插入時間)MySql
- mysql 行格式選擇_Mysql 行格式MySql
- win7 中 IIS 7 now() 等時間日期函式返回格式問題(不匹配 ACCESS 的 datetime 欄位的格式)Win7函式
- 教你如何使用MySQL中CURRENT_TIMESTAMP時間戳MySql時間戳
- MySQL 的 timestamp 和 datetime 型別比較MySql型別
- C#中,時間格式轉化,ticks,datetimeC#
- mysql資料庫date 、datetime、time、timestamp區別MySql資料庫
- python date 和 datetime 的取值範圍(對比 Mysql 的 datetime 和 timestamp)PythonMySql
- GO專案實戰 — Gorm格式化時間欄位GoORM
- Mysql日期(DATE, TIME, DATETIME, TIMESTAMP)型別的比較MySql型別
- element 時間選擇器禁止選擇以前的時間
- 更新欄位時更新時間不自動更新(不更新 updated_at 欄位)
- element-ui 時間選擇器設定時間選擇範圍UI
- datetime日期和時間
- BeanUtils.copyProperties 選擇性賦值欄位Bean賦值
- mybatis自動填充時間欄位MyBatis
- 關於mysql中欄位定義的型別int、tinyint區別MySql型別
- Laravel admin 如何生成 開始時間和結束時間範圍之內的篩選條件 (2 個欄位)Laravel
- pandas dataframe 時間欄位 diff 函式函式
- 自定義時間選擇器
- mysql中的date、datetime、timestamp你還不知道怎麼使用嗎MySql
- Timestamp-時間戳轉換時間戳
- MySQL時間戳轉成日期格式MySql時間戳
- pbootcms模板如何呼叫時間 時間格式大全boot
- java欄位格式化Java
- MySQL 資料庫技巧:批次更新隨機生成的時間戳欄位MySql資料庫隨機時間戳
- SQL 如何在時間序列中根據欄位變化分組SQL
- 硬碟格式化時如何選擇?硬碟格式FAT32、NTFS、exFAT的區別硬碟
- MySQL 中的共享表空間與獨立表空間如何選擇MySql
- laravel sync()同步時修改中間表欄位Laravel