本文目錄一覽:
- 1、mysql資料庫中的時間用哪個欄位存儲
- 2、mysql資料庫里的日期用timestamp還是datetime好?
- 3、mysql資料庫一般存儲時間都是用什麼類型便於在通過時間進行檢索
- 4、mysql儲存時間選擇怎樣的欄位類型
- 5、mysql資料庫保存當前時間的話為什麼用int不用timestamp
mysql資料庫中的時間用哪個欄位存儲
儲存時間,常用的有三個選擇datetime、timestamp、int。昨夜同事問到了,於是今天就總結一下自己的理解。插入效率:datetime timestamp int讀取效率:int timestamp datetime儲存空間:datetime timestamp = int具體上面的實驗數據可以看這篇文章。
mysql資料庫里的日期用timestamp還是datetime好?
Mysql中經常用來存儲日期的數據類型有2種:Date、Datetime.
1.Date數據類型:用來存儲沒有時間的日期。Mysql獲取和顯示這個類型的格式為「YYYY-MM-DD」。支持的時間範圍為「1000-00-00」到「9999-12-31」。
2.Datetime類型:存儲既有日期又有時間的數據。存儲和顯示的格式為 「YYYY-MM-DD HH:MM:SS」。支持的時間範圍是「1000-00-00 00:00:00」到「9999-12-31 23:59:59」。
TIMESTAMP列用於INSERT或UPDATE操作時記錄日期和時間。如果你不分配一個值,表中的第一個TIMESTAMP列自動設置為最近操作的日期和時間。也可以通過分配一個NULL值,將TIMESTAMP列設置為當前的日期和時間。
TIMESTAMP值返回後顯示為’YYYY-MM-DDHH:MM:SS’格式的字元串,顯示寬度固定為19個字元。如果想要獲得數字值,應在TIMESTAMP列添加+0。
注釋:MySQL4.1以前使用的TIMESTAMP格式在MySQL5.1中不支持;關於舊格式的信息參見MySQL4.1參考手冊。
mysql資料庫一般存儲時間都是用什麼類型便於在通過時間進行檢索
用bigint存儲,檢索效率高。
如果你想節約存儲,還可以用int,省去毫秒。
mysql儲存時間選擇怎樣的欄位類型
儲存時間,常用的有三個選擇datetime、timestamp、int。昨夜同事問到了,於是今天就總結一下自己的理解。插入效率:datetime
timestamp
int讀取效率:int
timestamp
datetime儲存空間:datetime
timestamp
=
int具體上面的實驗數據可以看這篇文章。
建立索引的體積,和索引的速度,你懂的。
讓我們來看一個應用場景:
看下這張圖,第一我們需要設置系統的默認時區,第二我們也需要提供不同時區時間顯示的需要。於是,我們分別使用datetime、timestamp、int欄位類型來看下:使用datetime直接顯示時間,這是個不錯的選擇,但是如果考慮到時區,很明顯計算上的麻煩。使用timestampOK,這個很好,可以根據系統的時區來自動輸出時間,但是單個用戶要定製自己的時區呢?再者你不怕麻煩,在程序裡面實現了這個計算,伺服器若是換個地方,改了下時區,你程序裡面計算單個用戶當地時間的代碼怎麼辦(timestamp出來的時間會根據時區的變化而變化,在某些情況下是不錯的選擇,但在某些情況下,真的很雞肋)。使用int從上面兩個類型的缺點看來,貌似這個類型可以解決以上的問題,其實我們只要存格林時間的unix
timestamp就好了,時區時間的計算上也很方便,讀取的效率也不錯。我覺得用這個儲存的缺點呢,就是直接select的時候時間不能直觀的顯示出來。看看其他開源程序是怎麼做的discuz,
typecho,
emlog等等等等,他們都選用int了,這一定有他們的道理,我想也沒什麼可以多說的了。
mysql資料庫保存當前時間的話為什麼用int不用timestamp
mysql儲存時間有幾種方式:
date 具體格式為2017-08-27,精確到天
datetime 具體格式為 2017-08-27 00:00:00,精確到秒
timestamp具體格式為 2017-08-27 00:00:00,精確到秒
int,具體格式為時間戳。
這些都是可以用來儲存時間的,具體需要看項目的需求了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/312692.html