自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Xxl-Job 之 MySQL導(dǎo)致的觸發(fā)時(shí)間誤差一秒

數(shù)據(jù)庫(kù) MySQL
我們重構(gòu)了XXL-JOB,在測(cè)試環(huán)境升級(jí)到新版本一段時(shí)間后,依然發(fā)現(xiàn)很多日記的觸發(fā)時(shí)間是延遲了一秒才觸發(fā)的。

[[442110]]

前面介紹,我們重構(gòu)了XXL-JOB,在測(cè)試環(huán)境升級(jí)到新版本一段時(shí)間后,依然發(fā)現(xiàn)很多日記的觸發(fā)時(shí)間是延遲了一秒才觸發(fā)的。但經(jīng)過各種優(yōu)化后手段后,經(jīng)統(tǒng)計(jì)發(fā)現(xiàn),觸發(fā)的耗時(shí)累加起來已經(jīng)不會(huì)超過1秒了,因此,我們懷疑是MySQL時(shí)間差與容器時(shí)間差的問題。

最終發(fā)現(xiàn),是因?yàn)槿沼洷碛|發(fā)時(shí)間字段使用的datetime類型存儲(chǔ),datetime的精度是秒,如果設(shè)置進(jìn)去的時(shí)間值精度小于秒的話,就會(huì)被四舍五入,可能導(dǎo)致數(shù)據(jù)庫(kù)中的值比原始值多了一秒。

以下是官方文檔的介紹:

可以看到,MySQL5.6之后,已經(jīng)支持TIME、DATETIME和TIMESTAMP類型保存精度到微秒,但要求在創(chuàng)建表的時(shí)候,聲明字段類型時(shí),需要給TIME、DATETIME或TIMESTAMP加上fsp,取值范圍為0~6,默認(rèn)值為0。

以下是測(cè)試案例(MySQL5.6.37版本):

  • 創(chuàng)建表

CREATE TABLE t1 (dt DATETIME, dt_ms DATETIME(3));

  • 插入數(shù)據(jù)

INSERT INTO t1 VALUES ('2021-12-24 10:00:04.50', '2021-12-24 10:00:04.50');

  • 查看結(jié)果

 

解決方案顯而易見,只需要修改日記表觸發(fā)時(shí)間字段的類型由DATETIME改為DATETIME(1)即可。

 

責(zé)任編輯:武曉燕 來源: Java藝術(shù)
相關(guān)推薦

2020-07-17 09:33:39

CPU內(nèi)存調(diào)度

2022-03-26 17:13:22

ElasticJobxxl-job分布式

2025-02-18 14:08:14

2022-09-23 13:57:11

xxl-job任務(wù)調(diào)度中間件

2024-08-27 09:34:24

2023-01-04 09:23:58

2023-11-30 22:06:43

2024-09-09 08:11:12

2022-12-29 08:32:50

xxl-job緩存Schedule

2022-01-27 08:44:58

調(diào)度系統(tǒng)開源

2024-12-04 10:47:26

2024-07-31 08:18:40

2023-06-27 07:44:53

xxl-job分布式任務(wù)調(diào)度平臺(tái)

2021-12-26 00:03:27

響應(yīng)式編程異步

2023-11-07 07:56:40

2023-11-22 10:07:22

2018-05-16 09:47:07

數(shù)據(jù)

2010-09-07 13:33:44

云安全技術(shù)

2018-02-27 13:35:49

手機(jī)安全銀行賬戶

2018-01-26 10:10:45

Linux服務(wù)器性能
點(diǎn)贊
收藏

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