java - mysql 数据库存时间最好是时间戳还是格式的时间
PHPz
PHPz 2017-04-17 11:55:39
0
8
964

mysql 数据库存时间最好是时间戳还是格式的时间

我理解的时间戳格式是这样的:1409556216984 如果存这个,用int类型还转不下呀,应该存什么类型,长度

如果是时间格式,前台还需要转换,是不是性能不佳

后端是:java

PHPz
PHPz

学习是最好的投资!

全部回覆(8)
洪涛

雖然我認為討論技術問題時,宣揚「自己的系統實際表現有多牛(所以別人也一定要這麼做)」不是什麼好的論調……但我必須認同一點: 這個問題的權衡還真就不是從效能上考慮的。時間戳記和字面時間的互轉只是簡單的計算,所消耗的資源遠遠達不到引發問題的地步。

使用時間戳記的唯一考量是:你的應用是否涉及多時區,時間資料是否和時區相關。如果回答“是”,那麼就必須使用時間戳,沒有任何第二方案。

只有時間戳表示的時間是準確、恆定的,就連時間+日期+時區也不行-時區這玩意兒可不是恆定不變的…

其餘的都不是什麼重要的考慮,自己喜歡就行。

一般認為堅持使用時間戳總是好的,在程式設計中只會提供便利,不會引入壞處。 至於查看數據時暴露時間戳原值,那是顯示環節的不完備(或故意設計),而不是用時間戳用錯了,切勿張冠李戴抹黑好東西。

  • 日期的字串-時間互轉、計算、比較及時區轉換,請使用後台語言中提供的相關類,不自己造輪子就可以。
  • 可以略微注意2038年問題的陷阱。對於MySQL而言,如果存時間戳記請使用timestamp或bigint,而不要使用int。
洪涛

這個問題是咱們程式設計師典型的架構權衡問題,甚至可以說鑽牛角尖(當然有時候鑽牛角尖不是不好)。
題主,其實無論你存時間戳還是用mysql的datetime,甚至是存字串,這基本上都不會造成系統瓶頸,你應該把80%的時間用在解決系統性能消耗佔比80%的問題上去。

我們阿里的系統,能夠支撐單日億級的寫入操作,讀是多少大家更可以YY,而其中使用mysql的系統,時間就用的datetime,所以你完全不用擔心性能的問題了。

用datetime還有個顯而易見的好處,可讀性高。 1409556216984,這個時間戳沒有人能看出來是什麼時間,對未來問題排查和定位也會加大複雜度。

迷茫

datatime
對應java.sql.Timestamp

Ty80

當然存成時間戳,除非你除了讀取之外不將它作它用。

你只想到了把時間戳格式化成字串花 CPU,就沒想到你存成字串花磁碟空間麼?而且你不用取某個時間段之內的數據,或是比較兩個數據的時間麼?

大家讲道理

我比較傾向與存的時候用格式的時間, 然後取的時候後台可以在controller層使用jodaTime的getMillis()函數取到毫秒,然後前端用JS的Date()去封裝,便可以根據客戶端所在的時區顯示對應的時間。 (這麼便利的就可以完成日期的國際化主要得益於:1.伺服器存的是時間戳記。2.客戶端js)

阿神

存成時間戳比較好,你在頁面上可能需要不同格式化的時間,這時候就比較方便了。存的時候存timestamp型別。

洪涛

時間戳,絕對利大於弊~只有好處,沒有壞處。

伊谢尔伦

存時間戳,仿便轉換,建議

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板