我的数据库中有两个大表,对于测试,我已将表(使用 (NOLOCK) 从 online_table 选择 * 到 backup_table)复制到带有后缀 _backup 的同一个数据库中。在备份表上,我开始将 nvarchar(50) 列转换为日期时间格式。在他们之后,我设置了主键和一些索引。在开始复制、转换和设置索引之前,我将数据库备份设置为简单,然后在步骤返回完整备份模式之后。
问题是:在线表上的数据库非常慢。在两个表之间有连接的存储过程通常需要一分钟以上才能完成。通常他们在一秒钟或更短的时间内完成。在描述的步骤一小时后,存储过程的速度不再有问题。它们和以前一样工作,索引都很好,小于 1% 的碎片,我用 nolock 复制表,所以它应该对在线表没有影响。有人知道这个问题,也许有解决办法吗?或有其他方法来执行此步骤?