偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)庫(kù)存儲(chǔ)時(shí)間到底該用什么類(lèi)型?

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
因?yàn)?TIMESTAMP 綁定了時(shí)區(qū)的屬性,所以每次都需要利用時(shí)區(qū)來(lái)計(jì)算時(shí)間,如果我們 MySQL 沒(méi)有指定時(shí)區(qū),那么默認(rèn)就需要每次查看操作系統(tǒng)的時(shí)區(qū),就得調(diào)用操作系統(tǒng)底層的 __tz_convert 函數(shù),會(huì)加鎖,而加鎖就意味著資源爭(zhēng)搶!

“yes,最近設(shè)計(jì)一個(gè)新項(xiàng)目的數(shù)據(jù)庫(kù)表結(jié)構(gòu),別的項(xiàng)目以前的表,發(fā)現(xiàn)這個(gè)時(shí)間字段類(lèi)型都沒(méi)個(gè)統(tǒng)一,我有點(diǎn)麻了。”

老陳眨了眨他的瞇瞇眼,望向了我。

“是不是有用 int、有TIMESTAMP 還有 DATETIME 的?” 我早就發(fā)現(xiàn)了這個(gè)亂象,大家都各自設(shè)計(jì)各自的,沒(méi)個(gè)統(tǒng)一的類(lèi)型。

“對(duì)對(duì)對(duì),你說(shuō)應(yīng)該選哪個(gè)好?”

老陳又要給我送溫暖了,我趕緊回答道:“首先,這個(gè) int 類(lèi)型得先淘汰了,雖然從功能來(lái)說(shuō)用 int 存儲(chǔ)時(shí)間戳沒(méi)毛病,不過(guò)最多就只能存到 2038 年,不過(guò)這也不知重點(diǎn),今年才幾幾年,管那么多,指不定到時(shí)候項(xiàng)目都 G了?!?/p>

“重點(diǎn)是,int 用不了 DEFAULT CURRENT_TIMESTAMP? 和 ON UPDATE CURRENT_TIMESTAMP。”

DEFAULT CURRENT_TIMESTAMP

當(dāng)記錄插入的時(shí)候,如果沒(méi)有指定時(shí)間,那么默認(rèn)填入當(dāng)前時(shí)間。

ON UPDATE CURRENT_TIMESTAMP

當(dāng)記錄修改時(shí),自動(dòng)更新時(shí)間,相當(dāng)于自動(dòng)修改記錄的更新時(shí)間,不需要人為塞值。

這兩個(gè)玩意就很好使了,非常方便,不然相關(guān)的 SQL 你都得顯示的寫(xiě)入插入和修改當(dāng)前時(shí)間的語(yǔ)句。

麻煩!且容易漏!編程這玩意最重要的是簡(jiǎn)單、便捷,花里胡哨的都容易出錯(cuò)。

老陳聽(tīng)完,煞有其事地點(diǎn)了點(diǎn)頭,示意我繼續(xù)。

魚(yú)兒已經(jīng)上鉤,我怎能輕易放過(guò)!

我故作停頓,瞟了眼他桌上的抗原檢測(cè)試劑,這玩意最近可是硬通貨,網(wǎng)上壓根買(mǎi)不著了。

老陳心領(lǐng)神會(huì),雙手捧著一盒,輕輕地放在我的桌上。

我點(diǎn)了點(diǎn)頭,繼續(xù)說(shuō)道:“至于 TIMESTAMP 的話,5.6版本以上支持 TIMESTAMP(N) N 表示秒的小數(shù)位,最高可達(dá)六位,不過(guò)它也只能存到 2038 年,本質(zhì)上跟 int 一樣,都是時(shí)間戳,不過(guò)數(shù)據(jù)庫(kù)可以操作它進(jìn)行時(shí)區(qū)的轉(zhuǎn)換!”

時(shí)間戳存的就是'1970-01-01 00:00:00' 到現(xiàn)在的毫秒數(shù),沒(méi)有時(shí)區(qū)的概念,而 MySQL 的 TIMESTAMP 類(lèi)型可以指定時(shí)區(qū)返回不同的時(shí)間。

簡(jiǎn)單點(diǎn),我拿 SELECT NOW() 來(lái)舉例不同時(shí)區(qū)的情況。

比如我現(xiàn)在不指定時(shí)區(qū),默認(rèn)就是操作系統(tǒng)的時(shí)區(qū),返回的結(jié)果如下圖所示:

圖片

然后我現(xiàn)在整個(gè)把時(shí)區(qū)變成卡塔爾的,你看看,時(shí)間是不是就變了?TIMESTAMP  就是有這樣的功效。

圖片

老陳定睛一看,冷不丁地冒出一句:“這丫的世界杯時(shí)間真不友好,老是在我們凌晨 3 點(diǎn)踢,你看看,熬的我都長(zhǎng)痘痘了!破壞我英俊的臉龐!”

“話說(shuō)回來(lái),這時(shí)區(qū)功能不是必備的呀,我在服務(wù)端轉(zhuǎn)個(gè)時(shí)區(qū)不就得了嘛?”

我嫌棄地瞄了他一眼,忽略他的臭美:“沒(méi)錯(cuò),如果有分時(shí)區(qū)的需求,服務(wù)端直接轉(zhuǎn)時(shí)區(qū)塞給前端就行了,而且利用 MySQL 轉(zhuǎn)時(shí)區(qū)還有小坑!”

因?yàn)?TIMESTAMP 綁定了時(shí)區(qū)的屬性,所以每次都需要利用時(shí)區(qū)來(lái)計(jì)算時(shí)間,如果我們 MySQL 沒(méi)有指定時(shí)區(qū),那么默認(rèn)就需要每次查看操作系統(tǒng)的時(shí)區(qū),就得調(diào)用操作系統(tǒng)底層的 __tz_convert 函數(shù),會(huì)加鎖,而加鎖就意味著資源爭(zhēng)搶!

在高并發(fā)的時(shí)候,影響可能就會(huì)比較大了!

所以如果非要用 TIMESTAMP ,那么記得在 MySQL 配置文件中顯示設(shè)置時(shí)區(qū)!

“OKOK,那我就不用 int 也不用 TIMESTAMP ,就用 DATETIME 了!不會(huì)這玩意也不好使吧?”

我搓了搓手,又瞄向了他桌上剛收到的快遞,看這包裝好像是 KN95 口罩?

老陳順著我的目光,心疼地移步向前拆開(kāi)包裝扔給了我一包,罵罵咧咧道:“這狗日的口罩,現(xiàn)在不僅難買(mǎi)還很貴,這玩意前不久還 1 塊錢(qián),現(xiàn)在要 5 塊!真是些黑心商家!”

“可不嘛,我在網(wǎng)上下了十幾單,漲價(jià)我忍了,還都是預(yù)售的!發(fā)貨時(shí)間1-45天內(nèi)....”我吐槽道,“行了,不扯這個(gè),繼續(xù)說(shuō) DATETIME?!?/p>

DATETIME 沒(méi)有 2038 的限制,可以存到 9999-12-31 23:59:59?,也沒(méi)有時(shí)區(qū)屬性,并且支持 DEFAULT CURRENT_TIMESTAMP? 和 ON UPDATE CURRENT_TIMESTAMP。

DATETIME(N) 中的 N 表示秒的小數(shù)位,最高可達(dá) 6 位,也是 5.6 版本以上支持。

這個(gè) N 可能光說(shuō)你沒(méi)直觀的影響,我還是拿 SELECT NOW 舉個(gè)例子:

圖片

所以 DATETIME 其實(shí)沒(méi)啥缺點(diǎn),如果非要說(shuō)個(gè)的話可能就是空間的占用了相比會(huì)大些了,看下下面這個(gè)圖:

圖片

對(duì)了,上圖還有個(gè) DATE 類(lèi)型,這個(gè)就不說(shuō)了,只能存儲(chǔ)日期,無(wú)法存儲(chǔ)時(shí)分秒。

老陳摸了摸他的大光頭,“懂了,問(wèn)就是 DATETIME!”

孺子可教!

我埋頭理了理桌上的 KN95 和抗原,美滋滋:“果然知識(shí)就是金錢(qián)?。」湃苏\(chéng)不欺我!”

更過(guò)故事,請(qǐng)聽(tīng)下回分享!

責(zé)任編輯:武曉燕 來(lái)源: yes的練級(jí)攻略
相關(guān)推薦

2023-11-24 08:17:38

金額類(lèi)型存儲(chǔ)

2017-09-03 15:41:31

數(shù)據(jù)庫(kù)存儲(chǔ)分布式

2024-08-05 01:22:16

2011-08-29 16:27:16

MySQL時(shí)間類(lèi)型

2022-09-16 11:33:24

數(shù)據(jù)庫(kù)關(guān)系

2011-02-25 17:47:44

數(shù)據(jù)庫(kù)存儲(chǔ)編寫(xiě)

2018-05-14 10:56:36

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)

2011-03-02 12:57:08

MySQL存儲(chǔ)引擎分支現(xiàn)狀

2011-03-01 11:21:11

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎

2024-06-03 08:29:20

2011-05-17 15:30:27

Oracle數(shù)據(jù)庫(kù)ADO

2011-08-15 15:14:54

SQL Server存儲(chǔ)過(guò)程異常處理

2010-05-14 17:44:47

MySQL數(shù)據(jù)庫(kù)

2024-05-20 10:20:37

數(shù)據(jù)庫(kù)存儲(chǔ)容量

2022-02-07 22:55:13

云原生數(shù)據(jù)庫(kù)技術(shù)

2022-09-13 07:31:50

工具代碼Lombok

2010-11-29 09:34:39

Sybase數(shù)據(jù)庫(kù)存儲(chǔ)

2023-05-18 08:38:13

Java鎖機(jī)制

2018-06-12 11:24:02

區(qū)塊鏈數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)

2022-09-05 09:32:07

數(shù)據(jù)庫(kù)存儲(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)