为啥SQL表清空了.数据库占用还是那么大呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥SQL表清空了.数据库占用还是那么大呢?相关的知识,希望对你有一定的参考价值。

使用TRUNCATE TABLE清空了很多表.但在我的电脑下面查看MDF文件好象一点点也没有变小.为什么呢?怎么解决?
收缩数据库只能收缩日志.MDF一点也没有变小.

那是正常的.因为数据库是建在设备上的,建库时是按你设定的原大小,和增长率自动增长的,数据库设备已划出空间,就算你库中没有内容也是那么大.

这就像一个只有扩大没有缩小的气球,在你向里面放东西时把他挤大了,再拿出来东西时,虽然里面东西减少了,但空间已经挤出来了,回不去了,这时你还可以向里面放东西,占用取出来的东西的位置.如果放不下了,他就又向外挤.
就是这个道理.
参考技术A 表空间需要在后台作调整,windows下的大多都是自动扩大表空间的,solaris、linux下的需要手工分配表空间,所有的表空间一旦增长了就占用了硬盘资源,不做表空间调整是不会小的。实际上缩小表空间是不可能的了,除非exp导出,重建数据库,再imp导入。 参考技术B 收缩收据库的数据文件和日志文件! 参考技术C 收缩数据库,也就是压缩,这样会比以前小很多。 参考技术D 需要压缩一下数据库 第5个回答  2008-11-07 leeyige 说得不错

SQL SERVER 怎样清空表的数据

参考技术A 运行sql语句 delete from tableName即可 参考技术B 运行sql语句
delete from tableName
即可本回答被提问者和网友采纳

以上是关于为啥SQL表清空了.数据库占用还是那么大呢?的主要内容,如果未能解决你的问题,请参考以下文章

sql的自增列如何重置

表数据都删了一半,可我的表文件咋还是那么大

Oracle数据库的表有多大呢?

sql多表查询出来的数据在C#中用啥装载比较好,是泛型集合还是集合??还有其他的可以装吗??

在sql server中清空了数据记录但是对应的数据库文件的大小没有变小

mysql如何清空表