在线更新SQL Server千万级记录的大表

本文探讨了如何在线更新一个包含2000万+记录、80+字段、27GB数据的SQL Server大表。面对update操作可能导致的80分钟停机时间,提出了创建视图并通过job小批量高频度更新的策略,以减少阻塞并提高执行效率。详细介绍了实施步骤和注意事项。
摘要由CSDN通过智能技术生成

目录

问题描述

某表含有2000万+记录行,80+字段,10+索引,单表含索引数据达27GB

由于某些原因,导致此表中的3个字段需进行更新,同时要求停机时间尽可能的短,相关sql如下:

--停机更新3个字段需耗时80分钟
UPDATE big_table SET P1 = 'N', P2 = 'N', P3 = 'N'

问题分析

由于停机执行上述update语句需耗时80分钟,因此考虑使用在线更新方案。分析表的字段内容与含义,发现表存在自增列id。

我们重新理解聚集索引表与堆表,评估update语句对单表的影响:在SQL Server中,执行update语句可能产生阻塞。这里我们使用高频率的update小批量高频度的进行更新可以有效降低阻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值