抖音最火
百度360必应搜狗本站头条热榜
当前位置:网站首页 > 热门主播 > 正文

al文章伪原创,ai文章伪原创

DouJia 2023-06-26 20:34 164 浏览

之前文章 一张5亿数据量的表执行不ai文章伪原创ai文章伪原创,开发和DBA差点大打出手…… 发了之后ai文章伪原创,有好几个小伙伴来问ai文章伪原创我 SQL 是怎么拆的。

这篇我们来简单盘下,其实拆 SQL 是因为涉及大表删除的问题。

比如,ai文章伪原创你现在需要删除一张一共有 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";

al文章伪原创,ai文章伪原创

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";

al文章伪原创,ai文章伪原创

......

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

这种类似的操作是有工具)的,比如 pt-online-schema-change 等,不过我没用过,有兴趣的小伙伴可以自己去看看,道理是一样的,多了几个触发器,这里不多赘述了。

开发还是得多学一些数据库的操作和原理,因为好多数据库的操作都需要你亲力亲为,小公司没 DBA 的话就不说了,大公司的话咱也不知道 DBA 到底会关心到哪个程度,还是得靠自己靠谱。

作者丨是Yes呀

来源丨公众号:yes的练级攻略(ID:yes_java)

dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

关于我们

dbaplus社群是围绕Database、BigData、AIOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops&DAMS行业大会。

关注公众号【dbaplus社群】,获取更多原创技术文章和精选工具下载

相关推荐

搜狗输入法智能帮写(搜狗输入法智能帮写怎么设置)

手写稿怎么扫描成电子版搜狗输入法智能帮写?为了更好地管理和保存我们的文档搜狗输入法智能帮写,不管是手写还是印刷的纸质文档,转换成电子版无疑是一种好的办法,这样也方便我们对文件进行归类整理。如果我们的手...

ai写论文的网站推荐,ai写论文的网站
ai写论文的网站推荐,ai写论文的网站

可以下载一款iOS平台ai写论文的网站的AI文案宝这款软件ai写论文的网站,这款软件功能非常齐全ai写论文的网站,写文章,写论文,写周报,写营销文章,爆款文案,...

2023-11-01 04:30 DouJia

文案智能ai改写工具,文案改写神器免费
文案智能ai改写工具,文案改写神器免费

随着AI技术文案智能ai改写工具的不断发展和普及文案智能ai改写工具,越来越多文案智能ai改写工具的企业开始尝试使用AI写营销文案。其中,搭画快写AI平台是一款...

2023-11-01 02:30 DouJia

文案生成器免费(广告文案生成器免费)
文案生成器免费(广告文案生成器免费)

1、豆拍文案设计助手文章生成器软件还可以帮用户自动免费的过滤掉各种敏感的词汇大家快来下载豆拍文案设计助手app豆拍文案设计助手评价立即下载3印章生成器印章生成器...

2023-10-31 22:30 DouJia

英语作文生成器,自动英语作文生成器
英语作文生成器,自动英语作文生成器

此前科大讯飞的最高价旗舰学习机为2021年推出的T10英语作文生成器,定价6999元。科大讯飞董事长刘庆峰曾在当时强调,T10开启了“人工智能学习机的全新时代”...

2023-10-31 20:30 DouJia

中国诗词自动生成器,诗词自动生成器在线生成
中国诗词自动生成器,诗词自动生成器在线生成

1、有练字大师这是一款可以自动生成字帖的软件中国诗词自动生成器,该软件支持生成行书楷书钢笔等首先打开字帖在线生成小程序主界面中国诗词自动生成器,点击进入其次在字...

2023-10-31 16:30 DouJia

搜狗ai写作助手app下载,搜狗ai写作助手
搜狗ai写作助手app下载,搜狗ai写作助手

1、在应用程序里面,搜索就可以下载安装搜狗ai写作助手了1在输入界面,点击输入框,在弹出搜狗ai写作助手的输入法中开启ai写作助手2选择ai帮写3按照提示写一些...

2023-10-31 14:30 DouJia

百度写作ai,百度写作ai在哪
百度写作ai,百度写作ai在哪

AI写作·无需文学造诣百度写作ai,轻松创作·AI写作宝可在线进行AI写作点击按钮进入AI写作界面提供多种写作类型可设置文章内容生成类型文章长度可对内...

2023-10-31 12:30 DouJia

网络小说生成器手机版(网络小说生成器手机版下载)
网络小说生成器手机版(网络小说生成器手机版下载)

在数字时代的今天网络小说生成器手机版,我们的生活方式正在发生翻天覆地的变化。其中,一项引人瞩目的技术就是ai写作。这个技术让我们不再局限于纸笔,也不必绞尽脑汁去...

2023-10-31 10:30 DouJia

ai免费版如何下载,ai免费软件安装
ai免费版如何下载,ai免费软件安装

1如图,在打开ai免费软件安装的页面左上角找到IllustratorCC2019,右键,选择压缩解压,然后在打开的二级菜单中,点击提取到“Illustrat...

2023-10-31 08:30 DouJia

aii文章生成器,aii文章生成器生成文章复制到哪里了
aii文章生成器,aii文章生成器生成文章复制到哪里了

3AII文章生成器这是一款免费的AI智能文章生成平台,输入关键词,可以一键自动生成相关的文章最大的优点,就是免费aii文章生成器!4阿里妈;天辰伪原创天辰A...

2023-10-31 06:30 DouJia

jasperai写作,jasper studio教程
jasperai写作,jasper studio教程

1、jasperaiCopyai优化拷贝采的文章或博客是一款AI文本生成工具,能够在线生成各种类型的文字内容,包括文章邮件产品描述社交媒体标签文章标题等平...

2023-10-31 02:30 DouJia