29  
查询码: 00000642
SQL SERVER删除某表的前10条记录及批量删除大量数据记录
作者: 周杨 于 2019年10月25日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER ,于 2020年02月04日 编辑

DELETE TOP(10) FROM 表名


表太大的时候,比如千万级的时候一次性删除服务器压力很大,此时可以用循环实现:

DECLARE
@i INT
SET @i = 0
WHILE @i < 10
BEGIN
DELETE TOP (50000) FROM tablename  --删除前5W条记录
SET @i =@i + 1
WAITFOR delay '00:00:10' --暂停10秒
END

______________________________________

delete 表数据后 数据库物理大小没变,

打开SSMS,找到你的数据库,右键-》任务-》收缩-》选择收缩数据库,不要选择收缩文件。然后执行完就可以了。会把空间还给操作系统的




 历史版本

备注 修改日期 修改人
修改标题 2020-02-04 11:44:00[当前版本] 系统管理员
格式调整 2019-10-25 21:52:56 系统管理员
其他原因... 2019-10-25 20:25:28 系统管理员
其他原因... 2019-10-25 17:45:24 系统管理员

知识分享平台 -V 5.1.4 -大信谛威