delete删除数据,是不是么库的高水线不会降低????

aiq 2007-09-04 08:52:47
那以后新的数据进来,是不是先填空删除的空间,然后高水线再随着数据的增加而增加呢
...全文
323 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiooix2012 2011-10-11
  • 打赏
  • 举报
回复
学习学习。。。
xghhxx 2007-09-10
  • 打赏
  • 举报
回复
学习中................
TodayZ 2007-09-10
  • 打赏
  • 举报
回复
什么是高水位,打个比方,夏天下雨后河水上涨,每次上涨我们就会记下这次河水上涨所到的最高的位置,并看看超过以前曾经到过的最高的位置没有。如果没有,以前的最高位置就是这个河的高水位。如果这次超过了,那这次到的位置就成了这个河的高水位了。等到不下雨了,河水水位下降,但高水位将一直保留,直到下回再发大水超过这次的高水位为止。
和河水的高水位一样,表的高水位就是看某一时刻数据量最大,使用的数据块数最多,这个数据块最大值就是表的高水位。
这样看你的问题,200万的数据删除掉100万后,再插入200万,这样某一时刻数据量的最大数是300万,高水线就是300万。
chanet 2007-09-10
  • 打赏
  • 举报
回复
影响high-water mark 的是truncate table、
delete不会。
kelsoncong 2007-09-09
  • 打赏
  • 举报
回复
300万
liulif 2007-09-06
  • 打赏
  • 举报
回复
那么要是插入的数据比删除的数据多呢?
如果200万的数据删除掉100万后,再插入200万,那么插入的200万数据中是否会有100万进入到删除掉100万的空间中去呢?
即高水线会是300万还是400万
aiq 2007-09-04
  • 打赏
  • 举报
回复
比如原来200万数据,高水线在某一位置,现在我删除100万,网上说这个高水线不变


以后新的数据入库时候,比如入了10万,这是高水线是长还是不长
还是数据再达到200万后才长
TodayZ 2007-09-04
  • 打赏
  • 举报
回复
1、delete删除数据后,该表的高水线不会降低。
2、如果记录被删除后某些数据块允许再插入新数据,这些块会加到空闲列表,新的数据进来,会在空闲列表中找可用的块。如果空闲列表用完,并且定义了表的扩展方式,高水线会不断增加。
3、通常情况下,高水线对性能的影响在全表扫描时,全表扫描的范围是表开始到高水线,即使中间有空块,这样就影响性能。
4、如果清空表,可以用truncate来让高水线归位。如果只是删除部分数据,没有很方便的办法,可以采用重建表的方式进行。
kinglht 2007-09-04
  • 打赏
  • 举报
回复
不明白楼主说的是什么意思!
kelsoncong 2007-09-04
  • 打赏
  • 举报
回复
不长了,到200万才会继续长,
我曾经用一张三千多万条的记录试过.
如果想降低高水线,先用create table tmp-table as select * from table;然后truncate table;接着insert into table select * from tmp-table 然后drop tmp-table
或者做表的导出导入也可以

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧