解决SQL Server 删除大量数据后磁盘空间无变化

造成空间不变化的原因

InnoDB 中采用了 B+ 树作为存储数据的结构,也就是常说的索引组织表。在InnoDB中,delete操作并不会真的删除数据,SQL Server实际上只是给要删除的数据打了标记,标记为删除。磁盘所占空间不会变小,即表空间并没有真正被释放

解决方法

1.删除数据

  delete 表名称 where 删除条件    -- 删除数据,执行效率低
  drop table 表名称		-- 删除表,效率一般
  truncate table 表名称 		-- 清空表,效率高

2.执行下面语句

DBCC SHRINKDATABASE ( 数据库名称 )
posted @ 2023-02-28 16:04  KizunaT  阅读(2179)  评论(0编辑  收藏  举报