免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1878 | 回复: 4
打印 上一主题 下一主题

什么是 "high-water mark" [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-27 08:56 |只看该作者 |倒序浏览
书中说:
truncate table order reuse storage

可以keep the storage,remove all rows,reset the high-water mark,and commit the change

请问其中的high-water mark是什么意思??

论坛徽章:
0
2 [报告]
发表于 2003-06-27 10:10 |只看该作者

什么是 "high-water mark"

我的理解
high-water mark是一个标记
他标记了某个table/patition的某一边界
当oracle作full-table-scan时
他会把从table/patition的开始部位到high-water mark的数据块都读一遍
当我们使用delete 语句时
high-water mark不会改变
这使我们做full-table-scan的性能不能提高
而使用truncate,他会重新设置high-water mark
从而使full-table-scan的性能得到提高

好像oracle理由一个语句可以驱使oracle去重新定位一个table的high-water mark,但是忘了,你可以在google上找找!!

论坛徽章:
0
3 [报告]
发表于 2003-06-27 11:21 |只看该作者

什么是 "high-water mark"

谢谢。。

论坛徽章:
0
4 [报告]
发表于 2003-06-27 11:50 |只看该作者

什么是 "high-water mark"

不客气!!

论坛徽章:
0
5 [报告]
发表于 2003-06-29 13:19 |只看该作者

什么是 "high-water mark"

high water mark就是我们常说的高水位线,他表示的是一个对象(如表,索引)在数据库中存储时达到的最大容量,delete后虽然数据删除了,但是并不释放其原来占有的那部分存储空间,从user_free_space中看不到某表空间的剩余空间大了,但是可以往里面插入新的数据(只要满足pctfree)。做truncate才能彻底释放该对象占用的存储空间,当然也就重置了high water mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP