mysql - 记录开始时间和结束时间,表字段类型用timestamp还是datetime?
巴扎黑
巴扎黑 2017-04-17 15:56:38
0
4
722
  • mysql数据库

  • 时间都是近期的

巴扎黑
巴扎黑

全部回覆(4)
巴扎黑

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

刘奇

先搜尋下

這裡回覆很詳細了

PHPzhong

timestamp相比於datetime的優勢:

  1. 所佔空間小,timestamp佔4字節,而datetime佔8位元組;

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

timestamp的劣勢:

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

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

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

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

小葫芦

兩種類型都是存放時間的,至於記憶體佔用和效率的區別在這裡就不說了,一般應用中這點差異也對你係統沒什麼本質上的影響,所以我的觀點是業務指向。
datetime和timestamp比起來,timestamp類型的欄位在資料庫記錄改變的時候(update)會自動更新這個欄位的值,而datetime需要手動去設定才會改變。
從業務角度篩選知道這點差異就行了,一般create time選datetime,update time選timestamp

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!