范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

2小时的SQL操作,1分钟就搞定?

  今天来讲讲关于 大表删除  的问题。
  比如,你现在需要删除一张一共有 5 亿数据的表里面的 2021 年数据,假设这张表叫 yes。
  我相信你脑子在 1s 内肯定会蹦出这条 SQL :  delete from yes where create_date > "2020-12-31" and create_date < "2022-01-01";
  如果直接执行这条 SQL 会发生什么问题呢?  长事务
  我们需要关注到一个前提:这张表有 5 亿的数据,所以它是一张超大表,因此这个 where 条件可能涉及非常多的数据,所以我们可以从离线数仓或者备库查下数据量,然后我们发现这条 SQL 会删除 3 亿左右的数据。
  那么一次性 delete 完的方案是不行的,因为这会涉及到 长事务的问题  。
  长事务涉及到加锁,只会在事务执行完毕后才会释放锁,由于长事务锁了很多数据,如果期间有频繁的 DML 想要操作这些数据,那么就会造成阻塞。
  连接都阻塞住了,业务线程自然就阻塞了,也就是说你的服务线程都在等待数据库的响应,然后可能还会影响到别的服务,可能产生雪崩,于是就 GG 了。
  长事务可能会造成主从延迟,你想想主库执行了好久,才执行完给从库,从库又要重放好久,期间可能有很长一段时间数据是不同步的。
  还有一种情况,业务都有个特殊停机窗口,你觉得你可以为所欲为,然后开始执行长事务了,然后执行了 5 小时之后,不知道啥情况抛错了,事务回滚了,于是浪费了 5 个小时,还得重新开始。
  综上,我们需要避免长事务的发生。
  那面对可能发生长事务的  SQL 我们怎么拆  呢? 拆 SQL
  我们就以上面这条 SQL 为例:  delete from yes where create_date > "2020-12-31" and create_date < "2022-01-01";
  看到这条 SQL,如果要拆分,想必很多小伙伴会觉得很简单,按日期拆不就完事了?  delete from yes where create_date > "2020-12-31" and create_date < "2021-02-01"; delete from yes where create_date >= "2021-02-01" and create_date < "2021-03-01";
  这当然可以,恭喜你,你已经拆分成功了,没错就这么简单。
  但是, 如果 create_date 没有索引怎么办?
  没索引的话,上面这就全表扫描了啊?
  影响不大,没有索引我们就给他创造索引条件,这个条件就是主键。
  我们直接一个 select min(id)... 和 select max(id).... 得到这张表的主键最小值和最大值,假设答案是 233333333 和 666666666。
  然后我们就可以开始操作了:  delete from yes where (id >= 233333333 and id < 233433333) and create_date > "2020-12-31" and create_date < "2022-01-01"; delete from yes where (id >= 233433333 and id <233533333) and create_date > "2020-12-31" and create_date < "2022-01-01";delete from yes where (id >= 666566666 and id <=666666666) and create_date > "2020-12-31" and create_date < "2022-01-01";
  当然你也可以再精确些,通过日期筛选来得到 maxId,这影响不大(不满足条件的 SQL 执行很快,不会耗费很多时间)。
  这样一来 SQL 就满足了分批的操作,且用得上索引。
  如果哪条语句执行出错,只会回滚小部分数据,我们重新排查下就好了,影响不大。
  而且拆分 SQL 之后还可以 并行提高执行效率  。
  当然,并行可能有锁竞争的情况,导致个别语句等待超时。不过影响不大,只要机器状态好,执行得快,因为锁竞争导致的等待并不一定会超时,如果个别 SQL 超时的话,重新执行就好了。  有时候要转换思路
  关于大表删除有时候要转换思路, 把删除转成插入  。
  假设还是有一张 5 亿的数据表,此时你需要删除里面 4.8 亿的数据,那这时候就不要想着删除了,要想着插入。
  道理很简单,删除 4.8 亿的数据,不如把要的 2000W 插入到新表中,我们后面业务直接用新表就好了。
  这两个数据量对比,时间效率差异不言而喻了吧?
  具体操作也简单:  创建一张新表,名为 yes_temp; 将 yes 表的 2000W 数据 select into 到 yes_temp 中; 将 yes 表 rename 成 yes_233; 将 yes_temp 表 rename 成 yes。
  狸猫换太子,大功告成啦!
  之前有个记录表我们就是这样操作的,就 select into 近一个月的数据到新表中,以前老数据就不管了,然后 rename 一下,执行得非常快。
  本来预估 2 小时的 SQL 操作,1 分钟就搞定了。

世界上众多河流水位降低,湖泊干涸,地下水枯竭,那么这些水去哪了呢?谢谢邀请,世界上众多河流水位降低,湖泊干涸,地下水枯竭,那么这些水去哪了呢?陆地上各地之间降水出现不平衡,有的地方出现旱灾,有的地方出现涝灾,这些水跑到涝灾的地方去了,出现旱灾地方当代谁能堪称京剧大师?讲到这个东西,真的很心伤。我一直再说郭德纲的京剧会带歪京剧。虽然是毫无问题,但其中也透出了浓浓的无奈。因为京剧现在真的看不太到什么非常硬的角。可能很多人要说,老生有麒派陈少云,杨派在厦门大学上学,回老家四川带什么伴手礼比较好?既然老家是在四川,那带的伴手礼一定得是比较容易带回去的,不能太汤汤水水了。以下给你推荐一些适合带回老家的伴手礼。素饼南普陀素饼是一定要带的。南普陀素饼很有名,是中华老字号,获过很多准备淘汰掉CD机,家里的功放配哪一款数字播放器比较合适?8月份我去北京音响店买天龙功放,试机的时候商家搭配的是一台仙籁M1T纯数播,出来的音质效果非常好,建议可以去了解一下。当时只是初听了一下,音质确实也没有让人失望,中高频之间的过渡衔如果地球回应60亿光年以外的文明,他们收到地球的信号需要多长时间?如果地球回应60亿光年以外的文明,他们收到地球的信号需要多长时间?有一个比较搞笑的比喻,我们回应60亿光年外的电磁脉冲信号相当于人家外星人炸了个大伊万(5800万吨当量的氢弹),而什么牌子的路由器信号强穿墙好且智能安全?要想买到比较好用的路由器也是很简单的,一般路由器无非就这几个指标信号好,不掉线,寿命长。目前路由器当然是华为卖得也是相当不错的。华为毕竟是做通信类的厂家,在这个行业内还是很有地位的没NFC功能的手机如何能刷公交卡?没NFC功能的手机想要刷公交卡,就只能使用支付宝或者微信的公交二维码功能,前提是当地公交系统支持公交二维码。以微信为例,如果用户所在城市的公交车支持二维码乘车,那么就可以查找相应的火影忍者博人传中木叶丸有没有影级的实力?你好,我觉得在火影忍者博人传中,木叶丸没有达到影级的实力,不过比普通上忍要强,有准影级的实力了,下面来重点分析一下木叶丸的实力。木叶丸在博人传里面是漩涡鸣人的儿子漩涡博人宇智波佐助休斯顿世乒赛签位已出,男乒和女乒谁签位最好?谁能包揽冠亚军?22日凌晨,休斯顿世乒赛抽签结果出炉。男单方面,国乒球员扎堆,樊振东冲冠路上需要连遇内战。女单实力强大,有机会提前锁定冠军,甚至是包揽四强。男单女单共十名参赛球员中,孙颖莎的签位应陨石不能带气孔,带气孔的就不可能是陨石,这种观点对不对?看到是兄弟您的问答题,我就是再没有时间,无论您的问题我感不感兴趣也要凑上来发表一下我的看法。我自知您不会欢迎我的出现,但这并不重要!我唯一的愿望是让您和其他走弯路的陨友早日成为相信为什么有人说量子科学已经触及到灵魂世界?因为现在有猜想,灵魂涉及到了量子领域。1灵魂不是物质曾经有人做过实验,发现人死后,体重会减轻21g,于是他说人的灵魂是物质,灵魂的重量是21g。其实在后来的研究中,该实验和测量方法
TikTok让美国反对美国关注白马商评美国人对付中兴的时候可是直接罚款,否则就断供对付华为也是一样,直接在供应链上就卡死了。对付一个小小的互联网公司TikTok大费周章地开个听证会,还引起了全民围观,成了中消息称华为MateStationX一体机将推低配版,搭载i512500HIT之家3月26日消息,华为于去年11月推出了MateStationX一体机2023款,搭载英特尔12代酷睿i912900H处理器,售价11999元起。根据博主看山的叔叔消息,华为吃零食是这辈子最重要的事情对我来说,吃零食是这辈子最重要的事情。小时候,最重要的就是考试考好点儿,期待家长买点儿零食给自己,但家长老说,吃零食会变笨。长大了,挣钱了,财务可自理了,报复性吃零食,完了,长胖了重磅突发!马云回国,现身这所学校!这些股票全线拉升新一轮的技术变革对教育带来的挑战与机遇,是云谷一直在认真思考的课题。马老师今天在云谷,和校园长们讨论的还是这个话题。今天上午A股收盘之后,港股市场突然直线拉升。马云回国的消息开始在好消息!3月28日清晨,又有6人被查,涉及多省市,看看都有谁前言法网恢恢,疏而不漏!反腐倡廉是国家专门打贪官,除污吏的一项斗争,漫长而又艰巨,老百姓就更加关心了。我们总在说,权力斗争是一把双刃剑,既可以为当官者实现才华抱负的机会,也可能因为消息称苹果AppleWatch无创血糖监测功能最晚七年后才会推出IT之家3月27日消息,据彭博社记者马克古尔曼(MarkGurman)认为,苹果AppleWatch的血糖监测技术可能还需要数年时间才能推出市场。古尔曼在2月份报道称,苹果已经在无泰国普吉岛2023年12月游客达240万创收超1千亿铢!3月24日,据泰媒报道,泰国普吉府府尹及包括当地警察旅游警察移民局警察等相关政府工作人员与20多个国家驻普吉岛的领事及名誉领事于3月23日召开会议,旨在向各国对关于对犯罪行为的法律1940年,上海黑帮大佬组织营救汪伪集团官员家属,这是怎么回事呢1940年1月3日,汪伪集团的两名高官高宗武与陶希圣脱离汪精卫卖国集团,在黑帮大佬杜月笙的帮助下,秘密离开上海,前往香港。随即,在1月22日香港大公报就刊登了卖国贼汪精卫与日本密谋你可能没注意,海洋好像快炸了想象一下,当你身处广袤的宇宙,遥望地球,映入眼帘的,将是大片静谧美好的蔚蓝海洋。这片占到地球表面积71的区域,以它的浩瀚造就了生命的起源,并无私哺育着这些生命。然而,在积极响应全球号称辐射之王,中国天眼发现740多颗脉冲星,它们有何特殊?在阅读此文前,麻烦您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持。中国天眼FAST投入运行后不到三年的时间就发现了740多颗脉冲星,脉冲星是中子星中云南天文台有了新成果!中国科学院云南天文台双星与变星研究团组近期利用望远镜巡天观测数据,探测到155颗大质量脉动变星及其候选体,并给出了其脉动特征和物理性质。相关研究成果发表于国际学术期刊天体物理杂志增