您的位置:首頁技術文章
文章詳情頁

mysql - 記錄開始時間和結束時間,表字段類型用timestamp還是datetime?

瀏覽:133日期:2022-06-17 09:39:30

問題描述

mysql數據庫

時間都是近期的

問題解答

回答1:

推薦題主看看這篇帖子,總結的不錯 選擇合適的 MySQL 日期時間類型來存儲你的時間

回答2:

先搜索下

這里回復很詳細了

回答3:

timestamp相比于datetime的優勢:

所占空間小,timestamp占4字節,而datetime占8字節;

包含時區信息,如果日后修改了時區的話,timestamp所表示的時間會隨時區而變化,而datetime不會。

timestamp的劣勢:

只能表示從1970年到2038年的時間,而datetime不受此限制。

性能方面比較,不能一概而論,timestamp雖然是純數字,計算要快一些,但人類不可讀,還必須要經過函數轉化,datetime是字符串類型,人類肉眼直接可讀,雖然計算加減乘除時要經過一道轉化。

對于小應用來講,空間不必考慮,性能不必考慮,時區都是北京時間,直接使用datetime就好了,不必糾結。

結論:永遠使用datetime來表示時間,決不使用timestamp,除非你有明確的理由,或者你知道自己在干什么。

回答4:

兩種類型都是存放時間的,至于內存占用和效率的區別在這里就不說了,一般應用中這點差異也對你系統沒什么本質上的影響,所以我的觀點是業務指向。datetime和timestamp比起來,timestamp類型的字段在數據庫記錄發生改變的時候(update)會自動更新這個字段的值,而datetime需要手動去設置才會改變。從業務角度進行篩選知道這點區別就行了,一般create time選datetime,update time選timestamp

国产综合久久一区二区三区