18 个解决方案
#1
我看会更大。
#2
那得看你这1000条记录到底有多大。
#1.首先,在空间充裕的情况下,DELETE掉的数据空间,是不会自动马上回收的。
#2.如果数据库空间足够大,不会扩展数据库空间(即mdf文件的大小)
#3.如果系统觉得空间不够了,就会按照数据库的增长规则,增长数据库。
#1.首先,在空间充裕的情况下,DELETE掉的数据空间,是不会自动马上回收的。
#2.如果数据库空间足够大,不会扩展数据库空间(即mdf文件的大小)
#3.如果系统觉得空间不够了,就会按照数据库的增长规则,增长数据库。
#3
请问楼主 ,若不想变大,如何删除数据记录???
#4
你可以先delete完再插入,在看看有无可收缩空间。主要关注点还是区/页有没有被回收
#5
这里 是假如:假如1000条记录就是10M,正好充满了整个数据库空间。我把 这1K条记录删除(用delete)后,数据库空间 大小不变,还是10M,那么我再添加1K条记录,那么数据库空间大小,也就是 .mdf文件大小 会变大吗????如果会变大,那么怎么做才能让他不变大???请楼上高手指教,谢谢!
#6
指定数据库固定大小,取消自动增长。
#7
如果 依照您这样做,指定数据库固定大小,取消自动增长。那么 删除 1000条记录后,再增加1000条记录会不会报错???(这样还能不能再增加1000条记录了????)
#8
肯定报呀。楼主还是直接说自己的目的吧?
#9
指定数据库固定大小,取消自动增长。
如果 依照您这样做,指定数据库固定大小,取消自动增长。那么 删除 1000条记录后,再增加1000条记录会不会报错???(这样还能不能再增加1000条记录了????)
肯定报呀。楼主还是直接说自己的目的吧?
我的目的是这样的,就是说,我的.mdf文件现在已经 400G了,我不想让.mdf文件变大了,所以,我得删除 表中的记录,但是,我想知道,删除后,再增加 数据,会不会还是是.mdf文件变大? 此外,还有啥方法能让.mdf文件不会变大(说明下,数据库中的表是不断的接收新数据)???请楼上高手指点
#10
#1.只有数据库空间用尽时,数据库才会自动增长。楼主可以测试一下,删除些数据,再插些数据,新插入的数据,会不会用掉删除数据的空间。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
#11
#1.只有数据库空间用尽时,数据库才会自动增长。楼主可以测试一下,删除些数据,再插些数据,新插入的数据,会不会用掉删除数据的空间。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
#12
#1.只有数据库空间用尽时,数据库才会自动增长。楼主可以测试一下,删除些数据,再插些数据,新插入的数据,会不会用掉删除数据的空间。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
1、归档方法很多,最原始的方法是,比如表A存放一年的数据,有时间列,但是你只要一个月的数据,那么可以select * into [归档库].[dbo].[归档表] from tb where 时间列>特定时间,然后delete 掉这部分数据,最好重建聚集索引,重组一下空间。
2、归档了如果没删100条数据,再加肯定加空间(前提是你的数据库空间已经不够了,需要增长,否则你看不出大小,除非用其他手段),如果删了,再插入一般会重用的。
#13
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
参考版主的回答。会重用。
兄弟,你知道得太多了
#14
又加班了
#15
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
参考版主的回答。会重用。
兄弟,你知道得太多了
非常感谢 版主和Shawn。会重用是啥意思? 是说 删除100条记录留下的空间 会被 新增的100条记录占用???如果这样的话,是不是说 .mdf文件不会变大?(这里假设 删除和新增100条记录大小是一样的)。请 版主 赐教?
还有个疑问,如果上述的 .mdf文件不会变大,就没必要归档了。版主说的归档是不是相当于将数据备份啊?
#16
#1.会重用,是你说的这个意思。
但实际上,系统以8K为一个页,以页作为基本的存储单位,删除数据后,如果页回收不了,还是无法重复利用。但这儿讲的话,就不是一句话两句话能说的清楚了。
#2.归档的意思是,把此表中的数据,移动到另外的数据库中的表中去。
建议楼主在数据库有空余,但无法重复利用时,收缩数据库文件,以达到收回空间的目的。
但实际上,系统以8K为一个页,以页作为基本的存储单位,删除数据后,如果页回收不了,还是无法重复利用。但这儿讲的话,就不是一句话两句话能说的清楚了。
#2.归档的意思是,把此表中的数据,移动到另外的数据库中的表中去。
建议楼主在数据库有空余,但无法重复利用时,收缩数据库文件,以达到收回空间的目的。
#17
#1.会重用,是你说的这个意思。
但实际上,系统以8K为一个页,以页作为基本的存储单位,删除数据后,如果页回收不了,还是无法重复利用。但这儿讲的话,就不是一句话两句话能说的清楚了。
#2.归档的意思是,把此表中的数据,移动到另外的数据库中的表中去。
建议楼主在数据库有空余,但无法重复利用时,收缩数据库文件,以达到收回空间的目的。
考虑过 收缩数据库,但是不敢用,因为收缩数据库可能会对数据库性能有很大影响,这样就得不偿失了,所以没敢用。 现在的问题是,什么情况下 无法重复利用? 1楼版主 回答是 我看会更大,这个意思就是 说明了 无法重复利用,我想问有没有好的办法能是 删除后的空间 一定能重复利用???(除了收缩数据库这个方法外)
#18
归档 或者重组数据 10M 几秒的事情
#1
我看会更大。
#2
那得看你这1000条记录到底有多大。
#1.首先,在空间充裕的情况下,DELETE掉的数据空间,是不会自动马上回收的。
#2.如果数据库空间足够大,不会扩展数据库空间(即mdf文件的大小)
#3.如果系统觉得空间不够了,就会按照数据库的增长规则,增长数据库。
#1.首先,在空间充裕的情况下,DELETE掉的数据空间,是不会自动马上回收的。
#2.如果数据库空间足够大,不会扩展数据库空间(即mdf文件的大小)
#3.如果系统觉得空间不够了,就会按照数据库的增长规则,增长数据库。
#3
我看会更大。
请问楼主 ,若不想变大,如何删除数据记录???
#4
你可以先delete完再插入,在看看有无可收缩空间。主要关注点还是区/页有没有被回收
#5
那得看你这1000条记录到底有多大。
#1.首先,在空间充裕的情况下,DELETE掉的数据空间,是不会自动马上回收的。
#2.如果数据库空间足够大,不会扩展数据库空间(即mdf文件的大小)
#3.如果系统觉得空间不够了,就会按照数据库的增长规则,增长数据库。
这里 是假如:假如1000条记录就是10M,正好充满了整个数据库空间。我把 这1K条记录删除(用delete)后,数据库空间 大小不变,还是10M,那么我再添加1K条记录,那么数据库空间大小,也就是 .mdf文件大小 会变大吗????如果会变大,那么怎么做才能让他不变大???请楼上高手指教,谢谢!
#6
指定数据库固定大小,取消自动增长。
#7
指定数据库固定大小,取消自动增长。
如果 依照您这样做,指定数据库固定大小,取消自动增长。那么 删除 1000条记录后,再增加1000条记录会不会报错???(这样还能不能再增加1000条记录了????)
#8
指定数据库固定大小,取消自动增长。
如果 依照您这样做,指定数据库固定大小,取消自动增长。那么 删除 1000条记录后,再增加1000条记录会不会报错???(这样还能不能再增加1000条记录了????)
肯定报呀。楼主还是直接说自己的目的吧?
#9
指定数据库固定大小,取消自动增长。
如果 依照您这样做,指定数据库固定大小,取消自动增长。那么 删除 1000条记录后,再增加1000条记录会不会报错???(这样还能不能再增加1000条记录了????)
肯定报呀。楼主还是直接说自己的目的吧?
我的目的是这样的,就是说,我的.mdf文件现在已经 400G了,我不想让.mdf文件变大了,所以,我得删除 表中的记录,但是,我想知道,删除后,再增加 数据,会不会还是是.mdf文件变大? 此外,还有啥方法能让.mdf文件不会变大(说明下,数据库中的表是不断的接收新数据)???请楼上高手指点
#10
#1.只有数据库空间用尽时,数据库才会自动增长。楼主可以测试一下,删除些数据,再插些数据,新插入的数据,会不会用掉删除数据的空间。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
#11
#1.只有数据库空间用尽时,数据库才会自动增长。楼主可以测试一下,删除些数据,再插些数据,新插入的数据,会不会用掉删除数据的空间。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
#12
#1.只有数据库空间用尽时,数据库才会自动增长。楼主可以测试一下,删除些数据,再插些数据,新插入的数据,会不会用掉删除数据的空间。
#2.一般来说,数据库一定要设置自动增长(除非你做测试),防止没有空间而报错。但增长的方式一般选择按固定大小(比如每次增长5G)来增长,以免自动增长时由于时间过长,导致那一时段的事务回滚。
#3.删除记录和增加记录,都会影响日志文件的大小。也需要考虑。其实,日志文件才是最吃硬盘的。
所以我认为,你只用把旧数据,归档到另外的数据库里即可。自动增长还是要的。
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
1、归档方法很多,最原始的方法是,比如表A存放一年的数据,有时间列,但是你只要一个月的数据,那么可以select * into [归档库].[dbo].[归档表] from tb where 时间列>特定时间,然后delete 掉这部分数据,最好重建聚集索引,重组一下空间。
2、归档了如果没删100条数据,再加肯定加空间(前提是你的数据库空间已经不够了,需要增长,否则你看不出大小,除非用其他手段),如果删了,再插入一般会重用的。
#13
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
参考版主的回答。会重用。
兄弟,你知道得太多了
#14
又加班了
#15
您好,归档到另外的数据库?怎么归档?还有 归档后就腾出空间了吗?比如说 归档了100条记录,我再添加80条记录会不会使.mdf文件继续变大???
参考版主的回答。会重用。
兄弟,你知道得太多了
非常感谢 版主和Shawn。会重用是啥意思? 是说 删除100条记录留下的空间 会被 新增的100条记录占用???如果这样的话,是不是说 .mdf文件不会变大?(这里假设 删除和新增100条记录大小是一样的)。请 版主 赐教?
还有个疑问,如果上述的 .mdf文件不会变大,就没必要归档了。版主说的归档是不是相当于将数据备份啊?
#16
#1.会重用,是你说的这个意思。
但实际上,系统以8K为一个页,以页作为基本的存储单位,删除数据后,如果页回收不了,还是无法重复利用。但这儿讲的话,就不是一句话两句话能说的清楚了。
#2.归档的意思是,把此表中的数据,移动到另外的数据库中的表中去。
建议楼主在数据库有空余,但无法重复利用时,收缩数据库文件,以达到收回空间的目的。
但实际上,系统以8K为一个页,以页作为基本的存储单位,删除数据后,如果页回收不了,还是无法重复利用。但这儿讲的话,就不是一句话两句话能说的清楚了。
#2.归档的意思是,把此表中的数据,移动到另外的数据库中的表中去。
建议楼主在数据库有空余,但无法重复利用时,收缩数据库文件,以达到收回空间的目的。
#17
#1.会重用,是你说的这个意思。
但实际上,系统以8K为一个页,以页作为基本的存储单位,删除数据后,如果页回收不了,还是无法重复利用。但这儿讲的话,就不是一句话两句话能说的清楚了。
#2.归档的意思是,把此表中的数据,移动到另外的数据库中的表中去。
建议楼主在数据库有空余,但无法重复利用时,收缩数据库文件,以达到收回空间的目的。
考虑过 收缩数据库,但是不敢用,因为收缩数据库可能会对数据库性能有很大影响,这样就得不偿失了,所以没敢用。 现在的问题是,什么情况下 无法重复利用? 1楼版主 回答是 我看会更大,这个意思就是 说明了 无法重复利用,我想问有没有好的办法能是 删除后的空间 一定能重复利用???(除了收缩数据库这个方法外)
#18
归档 或者重组数据 10M 几秒的事情