精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

實踐了五千萬的數據表和重建索引,學到了!

運維 數據庫運維
項目中有一張歷史記錄表,主要用于記錄一些接口調用流水,因為該表的地位不是那么重要,當初的創建者并未對核心字段創建索引。

[[438008]]

本文轉載自微信公眾號「程序新視界」,作者二師兄。轉載本文請聯系程序新視界公眾號。

背景

項目中有一張歷史記錄表,主要用于記錄一些接口調用流水,因為該表的地位不是那么重要,當初的創建者并未對核心字段創建索引。

不知不覺這張表的數據已經有5千萬數據了,由于沒有索引,在排查問題時,發現這種表根本查不動。

于是,決定下手進行分表并建立索引。這張表在系統中只負責插入,影響范圍極小,正好拿來練手。

解決思路

我們知道,在Mysql 5.5及之前版本,在運行的生成環境中對大表執行alter操作,會引起表的重建和鎖表,影響業務正常運轉。

從Mysql 5.6開始,Online DDL特性被引進,運行alter操作時同時允許運行select、insert、update、delete語句。

在數據量小于100w時,可以考慮直接修改表結構建立索引,正常幾秒鐘就可以完成。但當表的數據量超過百萬,無論Mysql 5.6及之前版本的鎖表行為、Mysql 5.6中因慢SQL引起的等待,都不允許直接在生產庫中進行alter table操作。

目前,五千萬的數據,直接修改表來建立索引,肯定是不可行的,弄不好還把數據庫給弄崩了。只能想另外的方法。

解決方案

鑒于這張表本身的影響范圍有限,想到的解決方案就分表。無論是將所有數據一個區間一個區間的拆分出去,還是將整個表都換成新表,然后再處理歷史數據,基本上都要做拆分處理。

基本解決思路:

  • 第一步:創建一張數據結構一樣的新表(補全索引),將業務切換至新表,這樣新生成的數據便有了索引;
  • 第二步:對舊表數據進行備份,已被后續處理過程中有問題進行恢復;
  • 第三步:按照數據ID,1000萬條數據拆分一個表,新拆分的表(補全索引);

對于分表的數據,數據庫訪問層并未使用,如果業務中有其他地方使用,則可考慮在數據庫訪問層根據請求時間區間或ID等來切換數據庫表名。

基本操作

備份數據

數據庫基于阿里云的云服務,導出數據有多種方式,比如直接copy出一張表、基于Navicat導出、基于mysqldump導出等。

copy出一張新表語句如下:

  1. create table account_log_1 select * from account_log; 

在測試環境上驗證了一下,粗略估計該方式得1小時左右才能執行完數據的備份。

由于沒有安裝Mysql的linux生產服務器可用,就沒采用mysqldump方式導致。

最終,采用在堡壘機上通過Navicat的導出功能,導出內容為SQL語句。

結果也很令人失望,5千萬的數據:導出耗時1小時22分鐘,導出SQL語句磁盤空間占用38.5G。還好在導出過程中,通過監控查看數據庫的整體性能還比較平穩。

為了節省堡壘機的磁盤空間,又花費了十多分鐘將38.5G的數據進行壓縮,最終占用3.8G的存儲空間。

Navicat與mysqldump性能對比

Navicat導出的數據是一條條的insert語句,每一行一條插入語句。

mysqldump導出的數據,多行數據合并成一行插入。批插入減少SQL語法詞法解析,減少插事務(最大的開銷),較少數據的傳輸;

數據分區

完成了數據備份,剩下的就是創建不同的新表,并安裝分區將數據導入了。

復制表結構

執行表結構的copy:

  1. create table account_log_1 like account_log; 

創建一個結構一樣的不帶數據的表,并對表添加索引。然后再基于添加過索引的表,創建出account_log_2、account_log_3等表。

不同的表機構復制方式有所區別,復制完成之后,注意檢查一下新表的主鍵、索引等是否存在。

由于該表并為具體的實際業務,而且表在設計時缺少創建時間字段,因此就以ID為區分,每1000w條數據一張表。

遷移數據

執行以下語句,直接將前1000w條數據插入到第一張表中:

  1. INSERT INTO account_log_1 SELECT * FROM account_log WHERE id <= 10000000; 

執行1000w條數據,用時205秒,大概3分鐘25秒。粗略估算,5000萬數據如果通過此種方式將全表數據備份,也只需要18分鐘左右。

因此,上面到導出操作算是走的彎路,也見證了一下通過Navicat導出的性能問題。

驗證數據

執行兩條查詢語句,驗證一下導入新表的數據與原始數據的數據量是否一致:

  1. select count(1) from account_log_1; 
  2.  
  3. select count(1) from account_log WHERE id <= 10000000; 

數據條數一致,驗證無誤。

刪除歷史數據

已經導入新表的歷史數據(備份數據)是可以進行刪除的,提升續查詢速度。當然,如果該表已經不使用,則也可以暫時保留。

刪除語句:

  1. delete from account_log where id <= 10000000; 

這里就暫時不刪除了;

循環執行導入

后續操作就是循環執行導入操作了,將id的條件區間進行擴展:

  1. NSERT INTO account_log_2 SELECT * FROM account_log WHERE id <= 20000000 and id > 10000000; 

然后循環進行驗證、刪除等操作,直至整個大表被拆分完畢。

在循環查詢插入的時候發現:未刪除數據記錄的情況下,處于中間部分的數據遷移耗時最長,主要原因就是查詢時索引的特性決定的。

性能驗證

驗證count語句耗時:

  1. select count(1) from account_log_2; 

耗時,1.8秒查出結果;

順便驗證了一下count(id)、count(*)的查詢,發現在1000w數據的情況下,性能差別并不明顯。

  1. select count(*) from account_log_2; 
  2.  
  3. select count(id) from account_log_2; 

在實驗的過程中發現,Mysql可能進行了緩存處理,在第一次查的時候時間較長,后續再查就比較快了。

后續有驗證了根據索引查詢的效率,1000w數據中查詢記錄,800毫秒能能查詢出結果來,提升效率非常顯著;

大表數據遷移思考

經過此次大表數據遷移的實踐,對大表遷移有了新的認知和直觀感受。單純的只看技術文章,感覺一切都輕而易舉可以實施,但真正實踐時才會發現有很懂可提升和改進的地方。

學到和一些值得思考的問題:

  • 大表導出不僅要考慮導出的時間問題,還需要考慮導出數據的空間問題,以及衍生出來的存儲和傳輸問題;
  • 大數據讀取與插入是否會造成表的死鎖。一般,導出數據沒有表鎖,導出會對表加鎖;
  • 監控導出操作是否會對服務器實例的IO、帶寬、內存造成影響,造成內存溢出等;
  • 遷移的數據特殊類型例如(blob)會不會在導入的時候丟失;
  • 不同的引擎之間是否會對導入數據有影響。 

通過本篇文章你學到了什么?了解到了什么不曾知道的點?

 

責任編輯:武曉燕 來源: 程序新視界
相關推薦

2020-08-20 14:49:22

數據查詢數據庫

2024-05-10 14:20:42

2021-07-08 09:44:22

大數據信息收集App

2009-08-26 11:33:28

Twitter

2020-05-09 23:07:06

垃圾郵件網絡罪犯IP地址

2023-10-16 08:55:43

Redisson分布式

2020-10-09 10:45:22

語言代碼數組

2021-03-09 09:55:02

Vuejs前端代碼

2023-04-10 07:40:36

GraphQLRest通信模式

2024-07-31 09:28:56

2011-08-02 12:46:46

Oracle數據表建立索引

2018-03-24 17:13:54

2010-11-16 09:18:39

oracle重建索引

2024-04-30 08:22:51

Figma圖形編輯變換矩陣

2024-08-12 15:44:06

2022-07-19 08:04:04

HTTP應用層協議

2023-06-03 00:05:18

TypeScriptJSDoc掃描器

2024-11-13 09:22:40

2024-02-06 09:30:25

Figma矩形矩形物理屬性

2012-11-09 15:11:51

點贊
收藏

51CTO技術棧公眾號

一本色道久久hezyo无码| 欧美激情国产日韩| 中文字幕亚洲欧美日韩| 国产精品1区| 亚洲靠逼com| 成人在线视频网站| 日韩精品一区三区| 国产精品嫩草影院在线看| 91福利国产成人精品照片| 成人做爰66片免费看网站| 日韩av一二三区| 久久91精品| 91麻豆精品国产91久久久使用方法| 天堂av免费看| 亚洲精品国产av| 午夜一区在线| 久久久国产精彩视频美女艺术照福利| 日批视频在线看| 中文字幕影音在线| 久久久.com| 亚洲在线观看视频网站| 99视频在线看| 国产精品x453.com| 日韩精品免费看| 91欧美精品午夜性色福利在线| 男人在线观看视频| 九九热播视频在线精品6| 日本高清无吗v一区| 桥本有菜av在线| 亚洲日本在线播放| 国产精品自拍av| 日本最新高清不卡中文字幕| 色欲人妻综合网| 欧美人与拘性视交免费看| 欧美一区二区在线不卡| 久久无码高潮喷水| 亚洲男同gay网站| 国产日韩欧美不卡在线| 国产一区二区三区免费不卡| 乱h高h女3p含苞待放| 欧美亚视频在线中文字幕免费| 欧美老肥妇做.爰bbww| 日本福利视频网站| eeuss影院在线播放| 国产成人综合网| 91久久在线视频| 中文字幕免费视频观看| 亚洲精品人人| 欧美www在线| 欧美精品日韩在线| 久久99高清| 亚洲精品国精品久久99热| 五月六月丁香婷婷| 最新欧美电影| 色综合一个色综合亚洲| 老太脱裤子让老头玩xxxxx| 一级一片免费看| 欧美1级日本1级| 一区二区欧美久久| 欧美性猛交xxxx乱| 久久99蜜桃| 日韩精品有码在线观看| 午夜不卡久久精品无码免费| 精品午夜视频| 日韩一区国产二区欧美三区| 欧美女同在线观看| 97人人在线视频| 午夜国产精品一区| 久久精品日产第一区二区三区| japanese国产| 国产成人免费网站| 国产精品视频福利| 亚洲乱码国产乱码精品精软件| 国产精品亚洲一区二区三区在线| 成人深夜直播免费观看| www.久久久久久久| 日本视频一区二区三区| 国产精品久久久久久久久影视| 亚洲成熟少妇视频在线观看| 日韩一区欧美二区| 热久久99这里有精品| 9i精品福利一区二区三区| 久久夜色精品| 国产精品日韩专区| 91麻豆国产视频| 韩国三级在线一区| 成人91视频| 少妇av一区二区| 91啦中文在线观看| 久久综合中文色婷婷| 亚洲精品久久久久久久久久久久久久| 国产高清视频一区| 精品视频第一区| 久久久久久女乱国产| 中文天堂在线一区| 亚洲欧洲另类精品久久综合| 国产在线观看网站| 国产精品丝袜一区| 成人午夜免费剧场| 色综合桃花网| 欧美日韩在线免费视频| 激情小说欧美色图| 久久成人av| 美女撒尿一区二区三区| 国产黄色片视频| 天堂va蜜桃一区二区三区| 国产日韩欧美中文| 少妇一区二区三区四区| 久久精品夜夜夜夜久久| 亚洲AV无码成人精品一区| 青春草免费在线视频| 色成年激情久久综合| 污网站在线免费| 欧美有码在线| 久久久电影免费观看完整版| 免费日韩一级片| 久久99精品视频| 51成人做爰www免费看网站| 熟妇高潮一区二区高潮| 久久尤物电影视频在线观看| 色香蕉在线观看| 蜜桃麻豆影像在线观看| 欧美日韩一区二区在线观看视频| 亚洲少妇中文字幕| 欧美一区二区三| 久久人人爽人人| 91国产精品一区| 99国内精品久久| 婷婷视频在线播放| 欧美成人a交片免费看| a篇片在线观看网站| 久久国产66| 97欧洲一区二区精品免费| 少妇激情av一区二区| 亚洲色图欧美偷拍| 欧美午夜性生活| 日韩黄色网络| 午夜精品福利电影| 国产男人搡女人免费视频| 国产99久久久国产精品潘金 | 岛国一区二区三区高清视频| 国产一级片在线| 精品日韩中文字幕| 稀缺呦国内精品呦| 68国产成人综合久久精品| 国产精品视频久久久久| 成人高清在线| 欧美日韩一区二区三区在线| 天天摸日日摸狠狠添| 蜜臀av国产精品久久久久| 日本一区二区三区四区在线观看 | 精品国产91久久久| 亚洲熟女一区二区| 日韩视频二区| 你懂的视频在线一区二区| 三级在线看中文字幕完整版| 亚洲区一区二区| 久久这里只有精品9| 中文字幕av不卡| 欧美wwwxxxx| 999精品视频在线观看播放| 久久精品国产99| 91香蕉视频网址| 香蕉免费一区二区三区在线观看 | 国产成人一区在线| 欧美中日韩在线| 欧美午夜寂寞| 国产精品久久久| 免费黄色在线观看| 日韩欧美卡一卡二| 成人免费区一区二区三区| 91丨porny丨在线| 亚洲精品自拍网| 午夜久久99| 久久久久久久久四区三区| 视频一区在线免费看| 精品激情国产视频| 成人毛片在线精品国产| 粉嫩av一区二区三区免费野| 色欲AV无码精品一区二区久久| 极品少妇xxxx偷拍精品少妇| 精品久久久久久无码中文野结衣| 最近国产精品视频| 川上优av一区二区线观看| free性欧美| 国产性猛交xxxx免费看久久| 国产黄色一区二区| 欧美丝袜美腿| 欧美色大人视频| 欧美精品videos极品| www久久久久| 欧美国产在线一区| 西西人体一区二区| 久久99国产精品一区| 精品人人人人| 亚洲wwwav| 91av亚洲| 欧美激情国内偷拍| av免费在线一区二区三区| 欧美成人精品高清在线播放| 超碰在线97观看| 亚洲成a天堂v人片| 欧美a级片免费看| 久久久久久亚洲综合影院红桃| 伊人成人免费视频| 日韩va欧美va亚洲va久久| 99在线观看视频免费| 久久一区二区三区喷水| 精品卡一卡二| 试看120秒一区二区三区| 国产精品69久久久久| 国产福利在线免费观看| 日韩在线免费视频| 欧美日韩国产综合视频| 欧美va在线播放| 国产一区二区网站| 在线一区二区观看| 美女伦理水蜜桃4| 久久97超碰国产精品超碰| www.亚洲天堂网| 91久久在线| 欧美日韩视频免费| 国产精品久久久久9999赢消| 色综合久久av| 精品一区毛片| 蜜桃久久影院| 色天天色综合| 国产一区二区在线网站 | 亚洲一区二区三区成人在线视频精品| 日韩欧美看国产| 欧美在线观看18| 久草热久草热线频97精品| 成人ssswww在线播放| 欧美刺激性大交免费视频| 日本福利在线| 中文字幕精品久久| av在线免费观看网| 一区二区亚洲精品国产| 你懂的在线看| 亚洲人成网站999久久久综合| 无码精品视频一区二区三区| 亚洲精品在线网站| 亚洲成人精品女人久久久| 欧美一区二区三区视频免费| 国产精品久久久久毛片| 在线成人小视频| 国产毛片一区二区三区va在线| 欧洲av一区二区嗯嗯嗯啊| jizz国产在线| 欧美日韩另类一区| 一二三区中文字幕| 欧美精品久久天天躁| 99精品在线看| 日韩欧美黄色影院| 日本激情一区二区| 日韩精品极品视频| 精品美女视频在线观看免费软件 | 快播日韩欧美| 久久最新网址| 在线不卡日本| 欧美日本一区二区高清播放视频| 黄网站色视频免费观看| 亚洲日本视频| 男人的天堂99| 麻豆精品在线观看| √天堂资源在线| 成人性色生活片| 在线观看av中文字幕| 国产亚洲综合性久久久影院| 手机看片国产日韩| 亚洲精品国产高清久久伦理二区| 国产一级一片免费播放| 日韩欧美亚洲一二三区| 亚洲一区中文字幕永久在线| 日韩免费视频一区| 特黄视频在线观看| 一本久久综合亚洲鲁鲁| 在线网址91| 97超级碰碰碰| 日韩欧美三区| 国产99视频精品免费视频36| 制服丝袜日韩| 男女激烈动态图| 99亚洲伊人久久精品影院红桃| 三年中国国语在线播放免费| 国产乱码精品1区2区3区| 菠萝菠萝蜜网站| 亚洲欧洲精品成人久久奇米网| 欧美极品视频在线观看| 91成人免费在线| 网站一区二区三区| 九九热hot精品视频在线播放| 人禽交欧美网站免费| 伊人情人综合网| 国产偷人视频免费| 高潮精品一区videoshd| 午夜在线观看一区| 亚洲一线二线三线视频| 中文在线最新版天堂| 亚洲第一视频在线观看| 日本视频在线观看| 88xx成人精品| 日韩欧美久久| 视频一区二区在线| 国产偷自视频区视频一区二区| 一级黄色录像在线观看| 久久亚洲影视婷婷| 免费三片在线播放| 欧美午夜精品一区二区三区| 国产18精品乱码免费看| 久久精品国产综合| 日韩电影大全网站| 精品无人区一区二区三区| 中文字幕免费一区二区三区| 超碰在线播放91| 久久伊人蜜桃av一区二区| 国产一级免费av| 69精品人人人人| 91最新在线| 日本久久亚洲电影| 欧美韩一区二区| 又大又硬又爽免费视频| 老司机精品视频在线| www.99热| 色婷婷亚洲综合| 久久手机免费观看| 欧美一区二区三区……| 第四色中文综合网| 男人天堂网站在线| 久久国产人妖系列| 女人黄色一级片| 欧洲亚洲精品在线| 国产小视频在线播放| 欧美在线免费观看| 日韩av三区| 欧美精品一区免费| 久久亚区不卡日本| 日本一区二区三区精品| 精品视频中文字幕| 天堂8中文在线最新版在线| 蜜桃av久久久亚洲精品| 夜夜夜久久久| 国产又爽又黄无码无遮挡在线观看| 亚洲午夜在线观看视频在线| 亚洲av无码乱码国产麻豆 | 成人观看网址| 狠狠干一区二区| 日韩午夜在线电影| 在线观看国产网站| 精品人伦一区二区三区蜜桃免费| 天堂在线观看av| 欧美亚洲视频一区二区| 免费视频亚洲| 杨幂毛片午夜性生毛片| 国产精品美女一区二区三区| 中文字幕一区二区久久人妻| 精品国偷自产在线视频99| 久久久久亚洲精品中文字幕| 中文字幕の友人北条麻妃| 成人小视频免费在线观看| 国产无套粉嫩白浆内谢| 91麻豆国产精品久久| 亚洲 欧洲 日韩| 奇米色一区二区三区四区| 日日碰狠狠添天天爽| 欧美一区二区三区电影| av电影院在线看| 欧美国产视频在线观看| 美国三级日本三级久久99| 日韩av手机在线免费观看| 欧美电视剧在线看免费| 涩涩涩视频在线观看| 亚洲精品在线观看免费| 国产精品资源网站| 亚洲视频免费播放| 中文字幕精品一区二区精品| 国模大尺度视频一区二区| 欧洲精品一区二区三区久久| 久久久久久久久久久久久久久99| 亚洲中文一区二区三区| 欧美国产日产韩国视频| 九九久久精品| 欧洲美女亚洲激情| 午夜精品爽啪视频| аⅴ资源新版在线天堂| 99精品国产高清一区二区| 香蕉久久夜色精品| 国产高潮流白浆| 亚洲精品视频久久| av日韩久久| 那种视频在线观看| 国产精品进线69影院| 亚洲狼人综合网| 国产精选久久久久久| 亚洲黄页一区| 奇米网一区二区| 日韩精品视频观看| 涩爱av色老久久精品偷偷鲁| 国产嫩草在线观看| 亚洲成人资源网|