一般應(yīng)用中,我們用timestamp,datetime,int類型來存儲(chǔ)時(shí)間格式:
int(對(duì)應(yīng)javaBean中的Integer或int)
1. 占用4個(gè)字節(jié)
2. 建立索引之后,查詢速度快
3. 條件范圍搜索可以使用使用between
4. 不能使用mysql提供的時(shí)間函數(shù)
結(jié)論:適合需要進(jìn)行大量時(shí)間范圍查詢的數(shù)據(jù)表
datetime(javaBean中用Date類型)
1. 占用8個(gè)字節(jié)
2. 允許為空值,可以自定義值,系統(tǒng)不會(huì)自動(dòng)修改其值。
3. 實(shí)際格式儲(chǔ)存(Just stores what you have stored and retrieves the same thing which you have stored.)
4. 與時(shí)區(qū)無關(guān)(It has nothing to deal with the TIMEZONE and Conversion.)
5. 不可以設(shè)定默認(rèn)值,所以在不允許為空值的情況下,必須手動(dòng)指定datetime字段的值才可以成功插入數(shù)據(jù)。
6. 可以在指定datetime字段的值的時(shí)候使用now()變量來自動(dòng)插入系統(tǒng)的當(dāng)前時(shí)間。
結(jié)論:datetime類型適合用來記錄數(shù)據(jù)的原始的創(chuàng)建時(shí)間,因?yàn)闊o論你怎么更改記錄中其他字段的值,datetime字段的值都不會(huì)改變,除非你手動(dòng)更改它。
timestamp(javaBean中用Date或Timestamp類型)
1. 占用4個(gè)字節(jié)
2. 允許為空值,但是不可以自定義值,所以為空值時(shí)沒有任何意義。
3. TIMESTAMP值不能早于1970或晚于2037。這說明一個(gè)日期,例如'1968-01-01',雖然對(duì)于DATETIME或DATE值是有效的,但對(duì)于TIMESTAMP值卻無效,如果分配給這樣一個(gè)對(duì)象將被轉(zhuǎn)換為0。
4.值以UTC格式保存( it stores the number of milliseconds)
5.時(shí)區(qū)轉(zhuǎn)化 ,存儲(chǔ)時(shí)對(duì)當(dāng)前的時(shí)區(qū)進(jìn)行轉(zhuǎn)換,檢索時(shí)再轉(zhuǎn)換回當(dāng)前的時(shí)區(qū)。
6. 默認(rèn)值為CURRENT_TIMESTAMP(),其實(shí)也就是當(dāng)前的系統(tǒng)時(shí)間。
7. 數(shù)據(jù)庫會(huì)自動(dòng)修改其值,所以在插入記錄時(shí)不需要指定timestamp字段的名稱和timestamp字段的值,你只需要在設(shè)計(jì)表的時(shí)候添加一個(gè)timestamp字段即可,插入后該字段的值會(huì)自動(dòng)變?yōu)楫?dāng)前系統(tǒng)時(shí)間。
8. 以后任何時(shí)間修改表中的記錄時(shí),對(duì)應(yīng)記錄的timestamp值會(huì)自動(dòng)被更新為當(dāng)前的系統(tǒng)時(shí)間。
結(jié)論:timestamp類型適合用來記錄數(shù)據(jù)的最后修改時(shí)間,因?yàn)橹灰愀牧擞涗浿衅渌侄蔚闹担瑃imestamp字段的值都會(huì)被自動(dòng)更新。
總結(jié)
以上就是本文關(guān)于解析MySQL中存儲(chǔ)時(shí)間日期類型的選擇問題的全部?jī)?nèi)容,感興趣的朋友可以參閱:mysql in語句子查詢效率慢的優(yōu)化技巧示例、MYSQL子查詢和嵌套查詢優(yōu)化實(shí)例解析、MySQL優(yōu)化之使用連接(join)代替子查詢等,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家。希望對(duì)大家有所幫助。
您可能感興趣的文章:- MySQL存儲(chǔ)時(shí)間類型選擇的問題講解
- 如何選擇合適的MySQL日期時(shí)間類型來存儲(chǔ)你的時(shí)間
- 解決MySQL存儲(chǔ)時(shí)間出現(xiàn)不一致的問題
- mysql獲取指定時(shí)間段中所有日期或月份的語句(不設(shè)存儲(chǔ)過程,不加表)
- MySQL中存儲(chǔ)時(shí)間的最佳實(shí)踐指南