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

同事給我埋了個坑:Insert into select語句把生產服務器炸了

數據庫 其他數據庫
由于考慮到會占用數據庫I/O,為了不影響業務,計劃是9:00以后開始遷移,但是xxx在8:00的時候,嘗試遷移了少部分數據(1000條),覺得沒啥問題,就開始考慮大批量遷移。

前言

Insert into select請慎用。這天xxx接到一個需求,需要將表A的數據遷移到表B中去做一個備份。本想通過程序先查詢查出來然后批量插入。但xxx覺得這樣有點慢,需要耗費大量的網絡I/O,決定采取別的方法進行實現。通過在Baidu的海洋里遨游,他發現了可以使用insert into select實現,這樣就可以避免使用網絡I/O,直接使用SQL依靠數據庫I/O完成,這樣簡直不要太棒了。然后他就被開除了。

事故發生的經過

由于數據數據庫中order_today數據量過大,當時好像有700W了并且每天在以30W的速度增加。所以上司命令xxx將order_today內的部分數據遷移到order_record中,并將order_today中的數據刪除。這樣來降低order_today表中的數據量。

由于考慮到會占用數據庫I/O,為了不影響業務,計劃是9:00以后開始遷移,但是xxx在8:00的時候,嘗試遷移了少部分數據(1000條),覺得沒啥問題,就開始考慮大批量遷移。

[[324520]]

  •  在遷移的過程中,應急群是先反應有小部分用戶出現支付失敗,隨后反應大批用戶出現支付失敗的情況,以及初始化訂單失敗的情況,同時騰訊也開始報警。

[[324521]]

  •  然后xxx就慌了,立即停止了遷移。

本以為停止遷移就就可以恢復了,但是并沒有。后面發生的你們可以腦補一下。

事故還原

在本地建立一個精簡版的數據庫,并生成了100w的數據。模擬線上發生的情況。

建立表結構

訂單表 

  1. CREATE TABLE `order_today` (  
  2.   `id` varchar(32) NOT NULL COMMENT '主鍵',  
  3.   `merchant_id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商戶編號',  
  4.   `amount` decimal(15,2) NOT NULL COMMENT '訂單金額',  
  5.   `pay_success_time` datetime NOT NULL COMMENT '支付成功時間',  
  6.   `order_status` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '支付狀態  S:支付成功、F:訂單支付失敗',  
  7.   `remark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '備注',  
  8.   `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間', 
  9.    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間 -- 修改時自動更新',  
  10.   PRIMARY KEY (`id`) USING BTREE,  
  11.   KEY `idx_merchant_id` (`merchant_id`) USING BTREE COMMENT '商戶編號'  
  12. ENGINE=InnoDB DEFAULT CHARSET=utf8

訂單記錄表 

  1. CREATE TABLE order_record like order_today; 

今日訂單表數據

模擬遷移

把8號之前的數據都遷移到order_record表中去。 

  1. INSERT INTO order_record SELECT  
  2.     *   
  3. FROM  
  4.     order_today   
  5. WHERE  
  6.     pay_success_time < '2020-03-08 00:00:00'; 

在navicat中運行遷移的sql,同時開另個一個窗口插入數據,模擬下單。

從上面可以發現一開始能正常插入,但是后面突然就卡住了,并且耗費了23s才成功,然后才能繼續插入。這個時候已經遷移成功了,所以能正常插入了。

出現的原因

在默認的事務隔離級別下:insert into order_record select * from order_today 加鎖規則是:order_record表鎖,order_today逐步鎖(掃描一個鎖一個)。

分析執行過程。

通過觀察遷移sql的執行情況你會發現order_today是全表掃描,也就意味著在執行insert into select from 語句時,mysql會從上到下掃描order_today內的記錄并且加鎖,這樣一來不就和直接鎖表是一樣了。

這也就可以解釋,為什么一開始只有少量用戶出現支付失敗,后續大量用戶出現支付失敗,初始化訂單失敗等情況,因為一開始只鎖定了少部分數據,沒有被鎖定的數據還是可以正常被修改為正常狀態。由于鎖定的數據越來越多,就導致出現了大量支付失敗。最后全部鎖住,導致無法插入訂單,而出現初始化訂單失敗。

解決方案

由于查詢條件會導致order_today全表掃描,什么能避免全表掃描呢,很簡單嘛,給pay_success_time字段添加一個idx_pay_suc_time索引就可以了,由于走索引查詢,就不會出現掃描全表的情況而鎖表了,只會鎖定符合條件的記錄。

最終的sql 

  1. INSERT INTO order_record SELECT  
  2.     *   
  3. FROM  
  4.     order_today FORCE INDEX (idx_pay_suc_time)  
  5. WHERE  
  6.     pay_success_time <= '2020-03-08 00:00:00'; 

執行過程

總結

使用insert into tablA select * from tableB語句時,一定要確保tableB后面的where,order或者其他條件,都需要有對應的索引,來避免出現tableB全部記錄被鎖定的情況。 

 

責任編輯:龐桂玉 來源: Java后端技術
相關推薦

2020-04-30 10:07:54

數據庫數據遷移Insert into

2018-03-28 15:22:52

無服務器云計算

2018-03-28 10:55:26

無服務器云計算操作數據

2020-04-14 10:06:20

微服務Netflix語言

2010-09-03 15:27:02

SQLSELECT語句

2022-07-24 14:41:09

服務器谷歌虛擬機

2017-09-04 16:51:03

Java虛擬機GC

2019-08-14 10:39:48

命令服務器關機

2012-02-09 09:52:39

服務器節能

2019-11-22 10:41:13

支付寶存儲服務器

2024-11-19 08:36:16

2013-07-23 09:51:32

Tomcat性能優化服務器性能優化

2012-05-28 10:52:17

EMC服務器

2021-12-03 11:57:27

代碼##語言

2024-03-06 08:18:22

語句GreatSQL

2018-07-06 11:01:03

2010-05-21 15:51:32

2021-08-05 15:03:14

Windows 服務器系統

2023-10-30 08:10:26

Map存儲信息

2025-07-28 02:55:00

虛擬列表JavaScript單線程
點贊
收藏

51CTO技術棧公眾號

成人av在线网| 欧美涩涩视频| 8x8x8国产精品| 福利网在线观看| www.成人精品| 午夜亚洲视频| 久久精品视频一| yy1111111| 农村妇女一区二区| 亚洲午夜电影在线观看| 欧美男人的天堂| aaa国产视频| 美女精品在线| 色综合老司机第九色激情 | 不卡一二三区| 综合欧美亚洲日本| 国产精品自拍首页| 91成年人视频| 最新成人av网站| 日韩在线播放av| 久久久无码人妻精品一区| vam成人资源在线观看| 欧美香蕉大胸在线视频观看 | 久久国产精品无码一级毛片 | 丝袜美腿高跟呻吟高潮一区| 欧美大成色www永久网站婷| 免费在线观看你懂的| 日韩综合一区二区三区| 欧美午夜精品久久久| 日韩欧美亚洲天堂| 在线免费观看污| 国产欧美在线观看一区| 精品国产综合区久久久久久| 国产乱色精品成人免费视频 | 国产精品女主播| 伊人久久综合视频| 午夜精品国产| 蜜臀久久99精品久久久无需会员 | 欧美性xxxxx极品| 国产性生活免费视频| 日本暖暖在线视频| 中文字幕精品综合| 日韩精彩视频| 国产原创av在线| 久久噜噜亚洲综合| 久久久7777| 涩涩视频在线观看免费| 成人精品免费网站| 国产成人免费观看| 亚洲xxx在线| 丁香婷婷深情五月亚洲| 不卡一卡2卡3卡4卡精品在| 一级特黄色大片| 蜜桃视频在线观看一区二区| 国产aⅴ夜夜欢一区二区三区 | 成人小视频免费看| 精品免费在线| 最近2019中文免费高清视频观看www99 | 欧美日本国产在线| 青青操国产视频| 国产精品v亚洲精品v日韩精品| 久久99久久99精品免观看粉嫩 | 激情综合丁香五月| 三级精品视频| 一区二区三区亚洲| 污污视频网站在线免费观看| 99成人超碰| 久久伊人精品视频| 久久综合亚洲色hezyo国产| 欧美午夜免费影院| 26uuu日韩精品一区二区| 中文字幕精品无码一区二区| 日本vs亚洲vs韩国一区三区| 国产日韩av在线| 国产丰满美女做爰| 成a人片亚洲日本久久| 久久天天狠狠| 北条麻妃在线| 伊人一区二区三区| 日韩av一二三四区| 国产精品无码久久久久| 日韩午夜激情视频| 中文字幕 亚洲一区| 精品久久91| 久热精品视频在线观看一区| 日韩欧美亚洲一区二区三区| 久久久久国产精品午夜一区| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 国产男女免费视频| 625成人欧美午夜电影| 欧美吞精做爰啪啪高潮| 4438x全国最大成人| 亚洲日产av中文字幕| 精品国产一区久久久| 日韩特黄一级片| 日本vs亚洲vs韩国一区三区二区 | 国产精品免费一区二区三区都可以 | 污的网站在线观看| 色综合久久综合网| 奇米777在线视频| 日韩深夜福利| 色综合色综合网色综合| 国产又粗又猛又黄视频| 国产成人午夜99999| 欧美日韩一区二区视频在线| 羞羞视频在线观看不卡| 色拍拍在线精品视频8848| 青青草原播放器| 米奇777超碰欧美日韩亚洲| 欧美成人精品在线视频| 久久影视中文字幕| 不卡一区中文字幕| 中文精品一区二区三区| 天天免费亚洲黑人免费| 精品国产乱码久久久久久牛牛| 我不卡一区二区| 亚洲激情网址| 999日本视频| 日本视频在线免费观看| 色av综合在线| 亚洲国产第一区| 欧美日本一区二区视频在线观看 | 国产精品妹子av| 国产亚洲精品网站| 岛国av一区| 欧美成人精品三级在线观看| 91国产精品一区| 国产欧美中文在线| 又色又爽又高潮免费视频国产| 成人影院中文字幕| 欧美成人全部免费| 国产精品久久久久久久久久久久久久久久 | 农村老熟妇乱子伦视频| 久久三级福利| 乱一区二区三区在线播放| av中文字幕在线看| 精品国产亚洲一区二区三区在线观看| 在线免费看av网站| 久久99精品久久久久婷婷| 日本一区二区三区精品视频| 樱花草涩涩www在线播放| 精品国产91久久久久久久妲己| 手机在线免费看片| 黄页网站大全一区二区| 日日噜噜噜夜夜爽爽| 在线观看欧美| 久久亚洲精品小早川怜子66| 国产一区二区三区四区视频| 中文字幕一区二区三区精华液| 91小视频网站| 久久一本综合| 91久久国产婷婷一区二区| 日本免费在线观看| 91精品欧美久久久久久动漫| 日本高清一二三区| 国产精品一区二区三区四区| 日本高清视频免费在线观看| 综合久久成人| 国内精品免费午夜毛片| 天天操天天射天天| 欧美日韩中文字幕在线| 51妺嘿嘿午夜福利| 美女视频一区二区| 色呦呦网站入口| 136福利精品导航| 97精品久久久中文字幕免费| 五月婷婷六月色| 一本久道久久综合中文字幕| 日韩一级av毛片| 精品一区二区三区欧美| 国产精品视频一二三四区| 国产91精品入| 日本三级久久久| 欧美性天天影视| 精品久久久久久久久久久久包黑料 | 性生交大片免费看l| 国产亚洲精品久久久久婷婷瑜伽| 蜜桃av久久久亚洲精品| 国产精品美女午夜爽爽| 久久国产精品久久久久久| 日本高清视频在线| 一本大道久久a久久精二百| 91视频最新网址| 丁香五精品蜜臀久久久久99网站| 日韩 欧美 高清| 亚洲国产一区二区三区在线播放 | 亚洲av成人无码网天堂| 在线免费观看日本欧美| 午夜69成人做爰视频| 26uuu国产电影一区二区| 粉色视频免费看| 亚洲日本国产| 亚洲高清在线观看一区| www.神马久久| 国产一区二区在线免费| 538在线精品| 日韩中文字幕欧美| 色婷婷av一区二区三区之e本道| 欧美在线观看禁18| 久久久久久av无码免费网站| 国产人妖乱国产精品人妖| 久久久久亚洲av片无码v| 日韩精品三区四区| 欧美一级视频在线播放| 欧美高清在线| 欧美高清性xxxxhd| 在线日韩成人| 成人欧美一区二区三区在线湿哒哒 | 久久不见久久见中文字幕免费 | 亚洲精品久久久久久久久久 | 在线观看av网页| 日韩视频在线一区二区三区| 裸体裸乳免费看| 精品日韩一区| 快播亚洲色图| 北条麻妃一区二区三区在线| 成人福利网站在线观看| 欧美日韩国产v| 久久久久久香蕉网| 黄色成人影院| 少妇激情综合网| 九色网友自拍视频手机在线| 精品成人私密视频| 国产同性人妖ts口直男| 欧美日韩成人综合| 欧美 亚洲 另类 激情 另类| 好吊成人免视频| 国产一级一片免费播放| 亚洲精品高清在线观看| 麻豆网址在线观看| 国产精品三级av在线播放| 国产人妻一区二区| 久久综合九色综合欧美98| 理论片大全免费理伦片| 国产电影一区二区三区| 天天综合天天添夜夜添狠狠添| 日本不卡高清视频| 亚洲高清在线免费观看| 日韩精品亚洲专区| 手机看片福利日韩| 蜜臀精品久久久久久蜜臀| 国模杨依粉嫩蝴蝶150p| 男女精品网站| 99精品视频播放| 视频一区视频二区中文| 农村妇女精品一二区| 日日夜夜一区二区| 国产又黄又猛视频| 日韩国产欧美三级| 精品久久久久久中文字幕2017| 日韩精品欧美精品| 中文字幕在线综合| 激情五月激情综合网| 久久精品国产99久久99久久久| 国产一区二区三区在线观看精品| 天堂av手机在线| 国产成人精品一区二| 亚洲成年人在线观看| 波多野结衣一区二区三区| 91视频啊啊啊| 久久久久久久久岛国免费| 公肉吊粗大爽色翁浪妇视频| 国产精品国产三级国产普通话99 | 欧美亚洲免费| 久草在在线视频| 久久综合综合久久综合| 91精品视频国产| 成人免费高清在线| 粉嫩av蜜桃av蜜臀av| 中文字幕精品在线不卡| 婷婷在线精品视频| 午夜精品久久久久久久久久| 日本视频在线观看免费| 91福利在线观看| 97久久人国产精品婷婷| 精品99一区二区三区| 久久久资源网| 久久精品视频一| 久草免费在线视频| 国产精品网红福利| 视频在线一区| 欧美日韩精品久久久免费观看| 欧美一区二区性| 日本a级片在线观看| 一本久道久久综合狠狠爱| www.涩涩涩| 床上的激情91.| 欧美 日韩 国产 成人 在线观看| 自拍偷拍欧美激情| 一级片中文字幕| 4438成人网| 精品av中文字幕在线毛片| 日韩在线观看免费全集电视剧网站| 欧美日韩经典丝袜| 国产精品久久久999| 最新精品在线| 中文字幕精品一区日韩| 999在线观看精品免费不卡网站| 自拍偷拍 国产| 国产成人av影院| 你懂得视频在线观看| 五月婷婷欧美视频| 91成品人影院| 国产一区二区三区丝袜| 国产v日韩v欧美v| 成人黄色av播放免费| 色综合综合色| 9久久9毛片又大又硬又粗| 久久国内精品视频| 无码国产69精品久久久久同性| 亚洲综合免费观看高清完整版| 日韩乱码一区二区三区| 亚洲国产日韩欧美综合久久| 大片免费在线观看| 国产99视频在线观看| 欧美激情极品| 国产一级做a爰片久久毛片男| 久久se精品一区二区| a级在线免费观看| 精品国产91久久久| 亚洲精品国产精品国| 久久这里有精品| 欧美成人aaa| 色综合久久久久久久久五月| 在线亚洲观看| 中文在线观看免费视频| 依依成人精品视频| av免费在线观看不卡| www.亚洲免费视频| 粉嫩av一区二区三区四区五区| 鲁丝一区二区三区免费| 中文精品视频| 日本69式三人交| 亚洲高清在线视频| 午夜精品在线播放| 不用播放器成人网| 成人综合日日夜夜| 综合网五月天| 老色鬼精品视频在线观看播放| 欧美 日韩 国产 成人 在线观看| 色综合视频在线观看| 欧美大片aaa| 国产69久久精品成人| 五月激激激综合网色播| 成人免费毛片网| 久久影院视频免费| 成人h动漫精品一区二区下载| 亚洲天堂av图片| 国模一区二区| 亚洲欧美日产图| 久久99国产精品久久99| 男人的午夜天堂| 91精品国产综合久久福利软件| free性欧美hd另类精品| 国产精品成人一区二区三区| 亚洲人www| 中日韩精品一区二区三区| 日本精品一区二区三区高清 | 日韩美脚连裤袜丝袜在线| 尤物av无码色av无码| 91网站黄www| 久久久精品毛片| www.精品av.com| 91欧美极品| 欧美黄网站在线观看| 日本一区二区三区四区| 国产欧美一级片| 91精品国产乱码久久久久久蜜臀| 欧美人与牛zoz0性行为| 日本中文字幕二区| 亚洲最新视频在线观看| 亚洲人妻一区二区| 国产精品伦子伦免费视频| 中文字幕亚洲精品乱码| 在线免费播放av| 欧美日韩一卡二卡三卡 | 午夜影院免费视频| 国产精欧美一区二区三区| 亚洲a在线视频| www.男人天堂| 欧美在线观看视频一区二区| 91精品久久| 欧美极品色图| 韩国女主播成人在线观看| 日本一级淫片色费放| 亚洲天堂免费视频| 精品视频在线播放一区二区三区 | 亚洲国产古装精品网站| 欧美影视资讯| 日本香蕉视频在线观看| 国产欧美日韩三区| www.桃色av嫩草.com| 日韩av免费看| 国产精品xvideos88| 国产高清一区二区三区四区| 91精品在线免费| 日韩大尺度黄色| 日韩中字在线观看| 亚洲欧美在线另类| 欧美大片aaa|