2019-10-25 20:25:28 版本 : SQL SERVER删除某表的前10条记录及批量删除大量数据记录
作者: 周杨 于 2019年10月25日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER 下,并于 2019年10月25日 编辑
 历史版本

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

DELETE TOP(10) FROM 表名


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

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

______________________________________

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

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


历史版本-目录  [回到顶端]
    知识分享平台 -V 5.1.4 -大信谛威