国产线精品视频在线观看-国产系列在线亚洲视频-国产系列视频二区-国产午夜在线视频-亚欧日韩毛片在线看免费网站-亚欧免费观看在线观看更新

技術支持 Support
搜索 Search
你的位置:首頁 > 技術支持

MySQL 設計數(shù)據(jù)表時,時間類型 datetime、bigint、timestamp區(qū)別

2023/1/7 22:17:04      點擊:

數(shù)據(jù)庫中可以用datetime、bigint、timestamp來表示時間,那么選擇什么類型來存儲時間比較合適呢?

前期數(shù)據(jù)準備

通過程序往數(shù)據(jù)庫插入50w數(shù)據(jù)

數(shù)據(jù)表:

其中time_long、time_timestamp、time_date為同一時間的不同存儲格式

實體類users

dao層接口

測試類往數(shù)據(jù)庫插入數(shù)據(jù)

sql查詢速率測試

通過datetime類型查詢:

耗時:0.171

通過timestamp類型查詢

耗時:0.351

通過bigint類型查詢

耗時:0.130s

結論 在InnoDB存儲引擎下,通過時間范圍查找,性能bigint > datetime > timestamp

sql分組速率測試

使用bigint 進行分組會每條數(shù)據(jù)進行一個分組,如果將bigint做一個轉化在去分組就沒有比較的意義了,轉化也是需要時間的

通過datetime類型分組:

耗時:0.176s

通過timestamp類型分組:

耗時:0.173s

結論 在InnoDB存儲引擎下,通過時間分組,性能timestamp > datetime,但是相差不大

sql排序速率測試

通過datetime類型排序:

耗時:1.038s

通過timestamp類型排序

耗時:0.933s

通過bigint類型排序

耗時:0.775s

結論 在InnoDB存儲引擎下,通過時間排序,性能bigint > timestamp > datetime

小結

如果需要對時間字段進行操作(如通過時間范圍查找或者排序等),推薦使用bigint,如果時間字段不需要進行任何操作,推薦使用timestamp,使用4個字節(jié)保存比較節(jié)省空間,但是只能記錄到2038年記錄的時間有限。


文章來源:騰訊,如涉及到版權問題,請聯(lián)系網(wǎng)站管理員刪除!