日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql平滑关闭_MySQL平滑删除数据的小技巧

發(fā)布時(shí)間:2025/4/5 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql平滑关闭_MySQL平滑删除数据的小技巧 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是學(xué)習(xí)筆記的第 1852篇文章

今天接到一位開(kāi)發(fā)同學(xué)的數(shù)據(jù)操作需求,需求看似很簡(jiǎn)單,需要執(zhí)行下面的SQL語(yǔ)句:delete from test_track_log where log_time < '2019-1-7 00:00:00';

看需求描述是因?yàn)椴樵?xún)統(tǒng)計(jì)較差,希望刪除一些歷史數(shù)據(jù)。

帶著疑問(wèn)我看下了表結(jié)構(gòu):

CREATE TABLE `test_track_log` (

`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主鍵',

`uid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用戶(hù)ID',

...

`log_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '記錄時(shí)間',

PRIMARY KEY (`id`),

KEY `idx_uid_fsm_log` (`uid`,`fsm_id`,`log_time`)

) ENGINE=InnoDB AUTO_INCREMENT=125082604DEFAULT CHARSET=utf8 COMMENT='記錄測(cè)試賬號(hào)的任務(wù)軌跡'

看自增列的情況,這個(gè)表的數(shù)據(jù)量有近1億條記錄了,暫且不說(shuō)數(shù)據(jù)量帶來(lái)的額外影響,單說(shuō)這個(gè)需求,你會(huì)發(fā)現(xiàn)這是一個(gè)隕石坑。

簡(jiǎn)單驗(yàn)證了下,數(shù)據(jù)量確實(shí)在億級(jí)別。

select count(id) from tgp_db.tgp_track_log

+-----------+

| 125082603 |

+-----------+

1 row in set (1 min 26.63 sec)

如果老老實(shí)實(shí)執(zhí)行了,估計(jì)我下午就不用干別的了。

顯然這個(gè)需求是一個(gè)模糊需求,業(yè)務(wù)方希望清理數(shù)據(jù),但是實(shí)現(xiàn)方式缺不合理。

如果我們使用truncate的操作,這樣看來(lái)目前是比較合適的。

同時(shí)在做數(shù)據(jù)清理的時(shí)候,勢(shì)必要考慮備份數(shù)據(jù),而和業(yè)務(wù)方確認(rèn),數(shù)據(jù)可以不用備份,但是從數(shù)據(jù)庫(kù)層面來(lái)說(shuō),是需要的。

在操作前進(jìn)行細(xì)致的溝通,發(fā)現(xiàn)業(yè)務(wù)方還是會(huì)希望參考近些天來(lái)的數(shù)據(jù),尤其是當(dāng)天的數(shù)據(jù),所以這個(gè)操作還是需要謹(jǐn)慎。

這里有兩個(gè)坑:

第一是業(yè)務(wù)方再三確認(rèn)不需要備份,但是如果刪除了數(shù)據(jù)之后,發(fā)生了意料之外的故障,需要恢復(fù)數(shù)據(jù),而DBA沒(méi)法恢復(fù),那么這個(gè)鍋我們背不住。

第二是業(yè)務(wù)方再三確認(rèn)刪除的邏輯是正確的,但是他們不負(fù)責(zé)數(shù)據(jù)操作的性能問(wèn)題,我們?nèi)绻蝗徍硕鵀榱藞?zhí)行而執(zhí)行,那么造成性能故障之后,很容易造成需求的分歧。

所以這件事情的本質(zhì)很簡(jiǎn)單,清理數(shù)據(jù),對(duì)業(yè)務(wù)影響最小,保留指定范圍的數(shù)據(jù)。

這種情況下單純的DML語(yǔ)句是搞不定了,我們需要想一些辦法,這里有一個(gè)技巧,也是我非常喜歡MySQL的一個(gè)亮點(diǎn)特性,即MySQL可以很輕松的把一個(gè)庫(kù)的表遷移到另外一個(gè)數(shù)據(jù)庫(kù),這種操作的代價(jià)就好像把一個(gè)文件從文件夾1拷貝到文件夾2。

一個(gè)初版的實(shí)現(xiàn)如下:

create table test_db.test_track_log_tmp like test_db.test_track_log;

alter table test_db.test_track_log rename to test_db_arch.test_track_log;

alter table test_db.test_track_log_tmp rename to test_db.test_track_log;

這種操作看起來(lái)很簡(jiǎn)單,但是也存在一些問(wèn)題,一個(gè)是在切換的過(guò)程中,如果寫(xiě)入數(shù)據(jù)是會(huì)丟失數(shù)據(jù)的,即數(shù)據(jù)已經(jīng)入庫(kù),這里通過(guò)rename丟失數(shù)據(jù)。

第二個(gè)是這個(gè)操作不夠簡(jiǎn)潔。怎么改進(jìn)呢,我們可以把rename的操作玩得更溜。

mysql> create table test_db_arch.test_track_log like test.test_track_log;

mysql> RENAME TABLE test.test_track_log TO test_db_arch.test_track_log_bak,

test_db_arch.test_track_log TO test.test_track_log,

test_db_arch.test_track_log_bak TO test_db_arch.test_track_log;

Query OK, 0 rows affected (0.02 sec)

整個(gè)過(guò)程持續(xù)0.02秒,億級(jí)數(shù)據(jù)的切換,整體來(lái)說(shuō)效果還是很明顯的,也推薦大家在工作中根據(jù)適合的場(chǎng)景來(lái)應(yīng)用。

本文僅代表作者個(gè)人觀點(diǎn),不代表SEO研究協(xié)會(huì)網(wǎng)官方發(fā)聲,對(duì)觀點(diǎn)有疑義請(qǐng)先聯(lián)系作者本人進(jìn)行修改,若內(nèi)容非法請(qǐng)聯(lián)系平臺(tái)管理員,郵箱cxb5918@163.com。更多相關(guān)資訊,請(qǐng)到SEO研究協(xié)會(huì)網(wǎng)www.seoxiehui.cn學(xué)習(xí)互聯(lián)網(wǎng)營(yíng)銷(xiāo)技術(shù)請(qǐng)到巨推學(xué)院www.jutuiedu.com。

總結(jié)

以上是生活随笔為你收集整理的mysql平滑关闭_MySQL平滑删除数据的小技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄视频在线观看免费 | 中文 欧美 日韩 | 国产愉拍 | 日韩女人性猛交 | 亚洲精品喷潮一区二区三区 | 亚洲国产免费av | 青青草成人免费视频 | 国产一级爽片 | 亚洲综合网在线观看 | 亚洲国产精品久久精品怡红院 | 国产三级网站 | 日韩深夜福利 | 99国产超薄肉色丝袜交足 | 五月天导航 | 欧美精品二区三区四区免费看视频 | 亚洲熟妇一区二区 | 综合国产一区 | 亚洲av无码乱码国产精品 | www.日本高清 | 欧美另类videosbestsex日本 | 你懂的国产 | 日韩在线无 | 天天摸日日干 | 91直接看 | 中文字幕69 | 免看一级片 | 亚洲综合精品国产 | 国产黄色一级片 | 久久黄色免费网站 | 看个毛片 | 91精品久久久久久久久久入口 | 色综合色综合 | 92国产精品 | 久久五月天综合 | 色妞干网 | 少妇一级淫免费观看 | a v视频在线观看 | 激情五月激情综合 | 国产在线播放av | 亚洲av无码乱码国产精品久久 | 最新国产中文字幕 | 黑丝美女一区二区 | 在线免费观看成人 | 成人爽a毛片一区二区 | 国产欧美精品国产国产专区 | 亚州男人天堂 | 日产精品久久久久 | 毛片视频网址 | 日韩免费福利 | 欧美一区二区在线看 | av色先锋 | 国产亚洲av综合人人澡精品 | 欧美一区二区三区久久久 | 男人靠女人免费视频网站 | 亚洲区在线播放 | 亚洲精品乱码久久久久久久久久久久 | 精品一区二区在线免费观看 | 国产黄色片在线观看 | 亚洲影院一区 | 日批视频在线播放 | 波多野结衣中文字幕在线播放 | 欧美浓毛大泬视频 | 台湾佬美性中文 | 国产精品www在线观看 | 久久久久久久久久久久久久 | 国产精品久久久久久久蜜臀 | 色先锋av资源 | 亚洲第一页乱 | 亚洲666| 热久久免费视频 | 精品无码人妻一区二区三区品 | 东方成人av| 日本一本在线 | 午夜高潮 | 一个人看的毛片 | 国产精品999视频 | 在线免费观看你懂的 | 国产成人短视频 | 黑人vs日本人ⅹxxxhd | 岛国av网址 | 国产高清视频网站 | 91国自啪| 国产乱轮视频 | 91爱爱网| 伊人黄色片 | 欧美特黄 | 在线中文字幕亚洲 | av天天看| 91精品久久久久久粉嫩 | 国产亚洲成人精品 | 在线五月天 | 国产二区在线播放 | 一区二区三区精品在线 | 一级片少妇 | 美女网站在线免费观看 | 男人的天堂你懂的 | 在线观看免费观看在线 | 男男全肉变态重口高h | 国产视频综合 |