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

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 分钟就搞定了。

烟台楼市小阳春没戏了,烟台高新房价跌至9800元财经新势力新春季烟台房价2022年跌了一年,2023年烟台楼市依旧还是没能热起来。烟台房价在过去的一年里面,跌幅最大的地方是烟台的高新区,房价直接从原来的1。1万,跌至了9800元64岁长沙阿姨退休后拾起羽毛球拍,收获百枚金牌华声在线1月31日讯(全媒体记者田甜实习生陈乐)一头卷发,一身连衣裙式样的球衣,一双小白鞋,引步挥拍击球今日一早,长沙云鼎球馆内,球场上灵动的身影正是64岁的百金女王孙桂萍。退休后2023年1月全国百城新建住宅价格公布,长沙9500元m2月1日,中指研究院发布数据显示,2023年1月,百城新建住宅平均价格为16174元平方米,环比下跌0。02,连续7个月环比下跌,但跌幅较上月收窄0。06个百分点同比下跌0。03,39岁改善下颌缘松弛,25天对比下颌线又回到二十多岁的模样都说下颌线就是衰老的分界线,越模糊衰老感就越强。大家看看她左侧提升前的下颌缘,她说自己也打了几次提升针,效果微乎其微。其实,衰老都不是单一的,而是整体的。她的面部也不是只有下颌缘松他是卓尼最后一任土司,20岁时是国军少将,26岁却成了开国大校!他是卓尼最后一任土司,他姓杨,名复兴。从他的姓名上看,这位土司莫不是汉族人?当然不是汉族人了,他是藏族人,1929年出生于甘肃卓尼。那么人们不禁要问了,那他怎么会姓汉姓杨呢?这要从士说心语丨追逐父亲的背影,在强军征途上绽放青春之花来源解放军报客户端中国军号我的父亲是名军人,在我的记忆里,对他的印象总是一个熟悉的背影。还记得,父亲常常会在天蒙蒙亮时,在我的额头上轻轻一吻,对我说爸爸去上班了,你要好好学习,放学什么样的人才是强大的人1不敏感,不玻璃心,有很强的钝感力。2对自己非常自信,甚至到了自负的地步。3遇事很镇定,心理素质极强。4去哪里都能轻易适应新环境。5喜欢高难度的挑战,喜欢做有难度的事。6能够轻易改劝君惜取少年时一晃,这么多年过去了。四季荣枯交替,日月穿梭轮回,时光悄悄流逝,可握在手里的,却似乎不多。不禁喟然长叹,那辜负的光阴再也找不回来。曾经年少轻狂,上学必经的一条胡同的砖墙上,留有少年一个人如果流年不顺,会碰到这些先兆,暗示大苦将至有禅师说过,人生有顺就有逆,未来有生就有死,这人世间的一切,皆是不可避免的。顺的,我们称之为人生之大幸逆的,我们称之为世间之无奈。可无论是顺境,还是逆境,都不是绝对的,而是相对的。冬天,鸡肉猪肉靠边站,多吃鸽子肉,鲜嫩多汁,好吃又营养导语立冬后,鸡肉猪肉靠边站,多吃此肉,鲜嫩多汁,好吃又营养!大家好,我是傻姐美食,生活中唯有美食和美景不可辜负。天气越来越冷,饮食上多以滋补的肉食为主,除了常吃的鸡肉,猪肉,牛羊肉模拟人生5将支持多人联机将登陆PC和移动端日前正如此前承诺,EA公布了更多起代号为ProjectRene的下一部模拟人生游戏的细节。在最新的直播中,EA确认多人游戏将成为新作游戏体验的主要组成部分,同时保证这不会牺牲该系列
曝欧阳娜娜翟子路疑似同居,男方光上身被拍,女方亲热喊老公?近日,有记者爆料欧阳娜娜和翟子路恋情曝光,男方不仅带着行李去女方家,而且还住了四天。这四天他一直处于隐身状态,行动动作谨慎小心,只拍到一次赤裸着上身去倒垃圾,就连测核酸都是请的工作长陵定陵昭陵,11月5日恢复开园小编带来一个好消息十三陵景区长陵定陵昭陵11月5日,恢复开园!近期,准备出游的您请关注昌平文旅集团微信公众平台预约购票游览!这一季的绝美风景,不准错过!闭园的这些日子里您是否也想念横河陈村古村古韵如诗如画横河陈村像一个梦,似真似幻,在这样的梦里,所有爱乡土爱文艺爱生活的人都不想醒来。这是旅游博主在横河陈村游玩时分享的旅游体验,引起网友的点赞和评论。在椒江,众多古村落中,名气响亮的,川西红枫岭,秋色美如画位于什邡市蓥华镇红峡谷村的川西红枫岭,山水灵动,空气清新,登高远眺青山叠翠,俯仰看尽云卷云舒。占地500亩的北美红枫,每到深秋时节,红枫次第变红,成为一道绝美的风景线。图说枫叶红时超150个新能源汽车品牌,我们真的需要那么多吗?封面天天见封火轮站在风口上,猪都能飞起来。新能源汽车,无疑是当下最火的风口。一时间,造家电的,造电摩的,造手机的,甚至之前什么都没造过的,都涌到了这个风口上。10月30日,宾理智能科技公司正式发布智能码垛机械手有哪些分类?随着高科技的发展,工业自动化得到普及,智能机器人广泛应用于工业和各个领域。那么大家熟悉的机器人有哪些呢?从应用范围运动坐标形式驱动方式和力臂四个方面进行分类1。根据使用范围分类(1新时代的中国北斗白皮书发布128款智能手机支持北斗定位视频加载中11月4日上午,国新办举行新闻发布会,介绍新时代的中国北斗白皮书有关情况。中国卫星导航系统管理办公室主任北斗卫星导航系统新闻发言人冉承其介绍,今年上半年,我国境内申请入网更智能的浴霸,不动手就能自动同步加热换气米家智能浴霸冬季就要来了,这个季节洗澡没有暖气可谓是非常的难受,我家之前使用的是非智能款的浴霸,洗澡前都要手动打开开关,对于懒人来说十分的麻烦,作为一个米粉,肯定是希望动动嘴就能开启,所以趁着学习做一个真实的自己你们害怕冲突吗?是的,很多人都会害怕。特别是作为妈妈的,在家里害怕和队友怕吵架影响孩子。所以刻意的逃避冲突。以为家和万事兴。可是这种和更多的是一种假象,那些冲突矛盾如果没有解开,就北极挖出史前生物尸体,为何人类会感到不安,潘多拉魔盒开了?随着全球气候环境变暖,北极冰川融化速度不断加快,北极接连挖出了史前生物的尸体,让人类感到不安。冻土层中被刨出来的披毛犀为何他们会感到不安?难道是因为地球的潘多拉魔盒被打开了?史前生参考封面胎盘动物的起源探究参考消息网11月4日报道进化生物学家通常一致认为,胎盘动物的起源是以昆虫为食体型较小的动物,随后演变出各种体型及形态。如今,胎盘动物小到凹脸蝠,大到蓝鲸,种类繁多,令人难以置信。学