目录
问题描述
某表含有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小批量高频度的进行更新可以有效降低阻