国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

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

mysql - 在數據庫中保存時間, 能不能直接用數字的時間戳存到bigint中?這樣做有什么明顯弊病?

瀏覽:147日期:2022-06-17 17:13:59

問題描述

像這樣 1476355731 的數字

問題解答

回答1:

有些人真是這么做的,可能是覺得日期類型計算太麻煩了,不如+30*60*60這樣簡單。

回答2:

不同地區時區不一樣,如果你存個2016-10-14 9:40:32,在另外的時區就不對了。存成unix時間戳,容易轉換成不同時區的時間。

回答3:

你要說弊端,那就是你去直接看數據庫的時候,不知道具體的時間。

但我看過的幾乎所有討論數據庫中怎樣保存時間的文章中的觀點都是“使用時間戳”。

回答4:

優點:數據量大的時候如果需要以該字段作為查詢條件的時候查詢速度會快一點(在同等條件下+合理索引情況下);缺點:查詢結果不直觀,需要二次處理。不過這個幾乎可以忽略,如果是在客戶端用sql查詢的時候,mysql自帶了UNIX_TIMESTAMP 和FROM_UNIXTIME 的轉換函數;如果是程序處理的話,把時間戳轉換成日期對象并不是什么特別麻煩的事情。

但要注意的是:如果用int來存儲時間戳的話,請注意int值的最大值范圍。

參考資料:

https://segmentfault.com/q/10...

回答5:

數據庫內部就是按照時間戳的機制保存的,之所以單獨定出Date類型,個人考慮是基于開發便利性的,否則保存為數字類型,所有的日期運算的函數都得自己實現。

回答6:

我是比較喜歡用時間戳的,需要顯示什么樣的格式都可以自行轉換,int類型就可以滿足,不需要bigint

主站蜘蛛池模板: 晋宁县| 安西县| 内丘县| 罗田县| 临西县| 大邑县| 志丹县| 宜宾市| 资兴市| 潼关县| 界首市| 巴塘县| 苍溪县| 久治县| 卢龙县| 兴宁市| 西平县| 高尔夫| 新龙县| 石家庄市| 游戏| 孙吴县| 英德市| 阆中市| 贵州省| 桓台县| 上栗县| 临高县| 桦甸市| 瑞昌市| 裕民县| 仙游县| 天台县| 安吉县| 九龙城区| 渭南市| 疏勒县| 屏山县| 合肥市| 内江市| 托里县|