Oracle高水位High Water Mark(HWM)简介

简介:

 1.什么是高水位


  高水位是Oracle中使用和未使用空间中的边界线,也可以理解为数据文间和非数据文间的分界线,但是这里的数据文件指代的是存储过数据的数据文件,而非仅仅是数据表中有数据的数据文件。


  2.高水位对于检索的影响


  假设我们有个表有2百万行数据存储在几个区中,假如我们删除一百万条数据。尽管数据区中的数据没有了,但是Oracle中占用的区的数据空间仍然不变,与原来二百万条数据占用的数据空间是一样的。当我们在数据库中执行查询时,Oracle仍会遍历所有的数据块,即便这些数据块中没有数据。从这个角度来说,高水位可以理解为已使用的数据块或数据区。


  高水位下的数据块中至少有一块是有数据的,当然这些数据也可能被删除掉了。由于Oracle知道高水位上的数据区是没有数据的,所以它在读取数据时只读取到高水位线。正是这个原理,当数据库中的表数据增大到一定的数据量时,如果将表中的数据移动到一个新的历史表中,并将当前表中的数据清空,并不会提高当前数据表的检索效率。因为数据的高水位没有变。


  如果数据库中的大部分数据被删除了,应该使用Shrink命令降低高水位,这样才能提高数据的查询效率。当然如果使用数据库分区表也就是另外一种解决方案了。

    





本文转自 genuinecx 51CTO博客,原文链接:http://blog.51cto.com/favccxx/1732509,如需转载请自行联系原作者
目录
相关文章
|
Oracle 关系型数据库 数据库
Oracle 简介与 Docker Compose部署
Oracle 数据库是一款由 Oracle 公司开发的关系型数据库管理系统(RDBMS)。它被广泛应用于企业级应用程序,提供了可靠的数据存储和强大的数据管理功能。
460 1
Oracle 简介与 Docker Compose部署
|
存储 XML SQL
Oracle 数据库自动诊断库 ADR(Automatic Diagnostic Repository)简介 发表在 数据和云
Oracle 数据库如果出现故障,我们的第一个反应是查看数据库的 alert log,但一些工程师对 alert log 不熟悉,实际上 alert log 位于Oracle 数据库自动诊断库(Automatic Diagnostic Repository,以下简称 ADR) 中,要熟悉 alert log,我们必需全面了解 ADR 的概念。
286 0
|
存储 SQL 负载均衡
Oracle-HWM(High Water Mark) 高水位解读
Oracle-HWM(High Water Mark) 高水位解读
133 0
|
存储 SQL Oracle
Oracle 用户、角色管理简介
Oracle 用户、角色管理简介
146 0
|
缓存 负载均衡 Oracle
Oracle rac集群中的IP类型简介
Oracle rac集群中的IP类型简介
690 0
|
Oracle 关系型数据库 数据库
Oracle高水位线 HWM降低技巧
Oracle高水位线 HWM降低技巧
598 0
Oracle高水位线 HWM降低技巧
|
Oracle 安全 关系型数据库