url*_*der 3 sql sql-server sql-server-2008
我们有2个表,大约有40M行.数据库的大小约为20GB,大多数是针对这两个表.每天,我们需要删除一些数据,即大约10M行.因此,我们使用批量删除将日志文件保持在一定的大小.
最初,表没有主键.但是每个表都有唯一的聚簇索引.删除需要永远.即在虚拟机上删除500K行需要大约2-3个小时.*删除之前,索引已重建.
现在,我们将唯一的聚簇索引转换为主键.删除2M行大约需要20-30分钟.
我知道主键和唯一聚簇索引之间存在差异,但为什么性能如此不同?
谁有洞察力?
谢谢