mysql儲存時間到底是用內建的日期和時間型別好還是使用int和bigint好?

時間 2021-05-10 04:21:09

1樓:周曉軍

引用《高效能 MySQL》一書中的建議來回答一下這個問題:

DATETIME vs TIMESTAMP

DATETIME:儲存範圍 1001 年到 9999 年,精度為秒,儲存空間為 8 位元組;

TIMESTAMP:和 Unix 時間戳相同,只能表示從 1970 年到 2038 年,儲存空間為 4 位元組。

除特殊情況外,通常應該盡量使用 TIMESTAMP,因為它比 DATETIME 空間效率更高;建議不要將 Unix 時間戳儲存為整數值,這不會帶來任何收益。用整數儲存時間戳的格式不方便處理。

如果需要儲存比秒精度更高的日期和時間值時,因為 MySQL 目前沒有提供合適的資料型別,可以使用 BIGINT 型別儲存微秒級別的時間戳,或者使用 DOUBLE 儲存秒之後的小數部分;或者使用 MariaDB 替代 MySQL。

關於索引這塊內容的話,題主可以實際測試一下效能:DATETIME vs TIMESTAMP vs INT。

2樓:趙偉

用內建的時間戳型別或者datetime型別,好處是MySQL自動幫你做本地化時間字串io以及時間型別計算。而且timestamp型別還有個獨有的優勢是MySQL能幫客戶端自動做時區轉換,把時間戳轉成客戶端所在的時區。

其他dbms也類似。

這樣就大大降低了應用層面的開發負擔

忘記前任的方式到底是時間還是新歡?

ray 快三年了,等到的是聽說她為其他男生哭,等到的是她談了一任又一任的訊息,之前選擇的是時間,當然也是和很多人一樣抱著可能會復合的希望,但是三年了,難不成再等5年?我真的拒絕了很多表白的人,真心喜歡我的人,但是今天開始我選擇新歡,你的時間在她眼裡說實話狗屁不是,該好好想想了,真的等到了你確定她不會...

用愛發電到底是種怎麼的感情?

雨木 心理學上有一種叫flow 心流 的狀態。當你做自己真正熱愛的事情時,哪怕是不會給你帶來什麼利益的事情,甚至危害你利益的事情 比如極限運動 只要你完全投入進去了進到這個flow的狀態,那就是最大的精神愉悅。主要表現是 覺得身體是自動運轉的,可以不加思考。覺得時間流逝得特別快。對和當下無關的外物和...

Hadoop到底是幹什麼用的?

Hadoop 是用來代替 Excel 的。乙個個體戶可以用 Excel 來記錄資料 分析資料 共享資料。乙個稍大一點的公司就需要用 Hadoop 來幹同樣的事,因為資料量比較大Excel搞不定。 小術曉術 Hadoop依賴MapReduce計算模型及HDFS Hadoop Distributed F...