- 浏览: 482512 次
- 性别:
文章分类
- 全部博客 (369)
- Java (48)
- Struts (1)
- Spring (4)
- Hibernate (7)
- WebServices (2)
- XML (3)
- web服务器 (12)
- PHP (16)
- FLEX (13)
- Flash (7)
- JavaScript (35)
- Ajax (4)
- Jquery (18)
- EXTJS (7)
- CSS (7)
- HTML (7)
- JSON (5)
- 好玩的 (1)
- 其他 (21)
- Oracle (35)
- mysql (12)
- Linux (12)
- JDBC (2)
- EJB3 (1)
- AOP (1)
- 正则表达式 (6)
- JSF (1)
- 设计模式 (1)
- RBAC (1)
- PowerDesigner (1)
- windows (1)
- 电脑工具软件 (3)
- SEO (3)
- maven (13)
- cms (9)
- JSP (5)
- jpbm (1)
- eclipse (8)
- sql (4)
- android (3)
- 浏览器 (5)
- 国外IT网站 (1)
- 文摘 (1)
- 文档 (31)
- doc命令 (1)
- webgl (1)
- html5 (1)
- ant (1)
- mongodb (0)
- 操作系统 (1)
- Dreamweaver (1)
- hadoop (2)
- xpath (1)
- nutch (1)
- window (1)
- xm (2)
- excel (1)
- httpclient (0)
- YII (2)
- CXF (1)
- Quartz (1)
- jsoup (2)
- wifi (2)
- logback (1)
- 硬件 (1)
- 工具 (3)
- freemark (1)
- ide (2)
- mail (1)
- log (1)
- ueditor (1)
- 链接 (1)
- reaver (2)
- js (1)
- .net (1)
- chrome (1)
- git (1)
- Docker (1)
- unicode (1)
- 多线程 (1)
- 并发 (1)
- Nashorn (3)
- Angular (1)
- curl (1)
- Cygwin (1)
- nashron (1)
- Babel (1)
- React Native (1)
- sip (1)
- openmeetings (1)
- IDEA (0)
- CAS (1)
最新评论
-
沉醉音乐的咖啡:
使用 preventDefault() 函数来阻止对表单的提交。 -
PhoenixHorse:
原表的索引啥的不就失效了吗
oracle修改表精度 -
yupengcc:
资料带走 3Q
RBAC模型 -
Java路:
...
JSON-LIB快速入门(转) -
damoqiongqiu:
utf-8下,E文字符占1个字节,中文字符占3个字节。如果一个 ...
AS3:截取定长度的字符串
HWM的一些特性
1 oracle用HWM来界定一个段中使用的块和未使用的块。
当我们创建一个表:A时,ORACLE就会为这个对象分配一个段.在这个段中,即使我们未插入任何记录,也至少有一个区(64bit,也就是8个块)被分配,第一个区的第一个块就称为段头(SEGMENT HEADE),段头中就储存了一些信息,基中HWM的信息就存储在此.此时,因为第一个区的第一块用于存储段头的一些信息,虽然没有存储任何实际的记录,但也算是被使用,此时HWM是位于第2个块.当我们不断插入数据到A后,第1个块已经放不下后面新插入的数据,此时,ORACLE将高水位之上的块用于存储新增数据,同时,HWM本身也向上移.也就是说,当我们不断插入数据时,HWM会不断上移,这样,在HWM之下的,就表示使用过的块,HWM之上的就表示已分配但从未使用过的块.
2 HWM在插入数据时,当现有空间不足而进行空间的扩展时会向上移,但删除数据时不会往下移.
这就好比是水库的水位,当涨水时,水位往上移,当水退出后,最高水位的痕迹还是清淅可见.
删除数据后便存在浪费的空间,ORACLE 不会释放空间以供其他对象使用,有一条简单的理由:由于空间是为新插入的行保留的,并且要适应现有行的增长。被占用的最高空间称为最高使用标记 (HWM)。
3 HWM的信息存储在段头当中.
HWM本身的信息是储存在段头.在段空间是手工管理方式时,ORACLE是通过FREELIST(一个单向链表)来管理段内的空间分配.在段空间是自动管理方式时(ASSM),ORACLE是通过BITMAP来管理段内的空间分配.
4 ORACLE的全表扫描是读取高水位标记(HWM)以下的所有块
当用户发出一个全表扫描时,ORACLE 始终必须从段一直扫描到 HWM,即使它什么也没有发现。该任务延长了全表扫描的时间。
采用TRUNCATE语句删除一个表的数据的时候,类似于重新建立了表,不仅把数据都删除了,还把HWM给清空恢复为0。
5 当用直接路径插入行时 — 例如,通过直接加载插入(用 APPEND 提示插入)或通过 SQL*LOADER 直接路径 — 数据块直接置于 HWM 之上。它下面的空间就浪费掉了
在手动段空间管理(Manual Segment Space Management)中,段中只有一个HWM,但是在Oracle 9i Release1才添加的自动段空间管理(Automatic Segment Space Management)中,又有了一个低HWM的概念出来。为什么有了HWM还又有一个低HWM呢,这个是因为自动段空间管理的特性造成的。在手段段空间管理中,当数据插入以后,如果是插入到新的数据块中,数据块就会被自动格式化等待数据访问。而在自动段空间管理中,数据插入到新的数据块以后,数据块并没有被格式化,而是在第一次访问这个数据块的时候才格式化这个块。所以我们又需要一条水位线,用来标示已经被格式化的块。这条水位线就叫做低HWM。一般来说,低HWM肯定是低于等于HWM的。
额外扩展:
[TEST1@orcl] SQL>delete from c;
[TEST1@orcl] SQL>alter table c shrink space;
alter table c shrink space
*
第 1 行出现错误:
ORA-10636: ROW MOVEMENT is not enabled
[TEST1@orcl] SQL>alter table c enable row movement;
表已更改。
[TEST1@orcl] SQL>alter table c shrink space;
表已更改。
[TEST1@orcl] SQL>analyze table c compute statistics;
[TEST1@orcl] SQL>select table_name,blocks,empty_blocks from user_tables where table_name='C';
TABLE_NAME BLOCKS EMPTY_BLOCKS
---------- ---------- ------------
C 1 7
6. 修正ORACLE表的高水位线
在ORACLE中,执行对表的删除操作不会降低该表的高水位线。而全表扫描将始终读取一个段(extent)中所有低于高水位线标记的块。如果在执行删除操作后不降低高水位线标记,则将导致查询语句的性能低下。
下面的方法都可以降低高水位线标记。
(1). 执行表重建指令 alter table table_name move;
在线转移表空间ALTER TABLE ... MOVE TABLESPACE ..
当你创建了一个对象如表以后,不管你有没有插入数据,它都会占用一些块,ORACLE也会给它分配必要的空间.同样,用ALTER TABLE MOVE释放自由空间后,还是保留了一些空间给这个表.
ALTER TABLE ... MOVE 后面不跟参数也行,不跟参数表还是在原来的表空间,Move后记住重建索引。如果以后还要继续向这个表增加数据,没有必要move,只是释放出来的空间,只能这个表用,其他的表或者segment无法使用该空间。
(2). 执行alter table table_name shrink space;
注意,此命令为Oracle 10g新增功能,再执行该指令之前必须允许行移动 alter table table_name enable row movement;
如果要同时压缩表的索引:ALTER TABLE TEST_TAB SHRINK SPACE CASCADE
(3). 复制要保留的数据到临时表t,drop原表,然后rename临时表t为原表
(4). 用逻辑导入导出: Emp/Imp
(5). Alter table table_name deallocate unused
注:这证明,DEALLOCATE UNUSED为释放HWM上面的未使用空间,但是并不会释放HWM下面的自由空间,也不会移动HWM的位置.
(6). 尽量使用truncate.
http://edu.21cn.com/oracle/g_50_761654-1.htm
http://blog.csdn.net/dba_waterbin/article/details/8573041
1 oracle用HWM来界定一个段中使用的块和未使用的块。
当我们创建一个表:A时,ORACLE就会为这个对象分配一个段.在这个段中,即使我们未插入任何记录,也至少有一个区(64bit,也就是8个块)被分配,第一个区的第一个块就称为段头(SEGMENT HEADE),段头中就储存了一些信息,基中HWM的信息就存储在此.此时,因为第一个区的第一块用于存储段头的一些信息,虽然没有存储任何实际的记录,但也算是被使用,此时HWM是位于第2个块.当我们不断插入数据到A后,第1个块已经放不下后面新插入的数据,此时,ORACLE将高水位之上的块用于存储新增数据,同时,HWM本身也向上移.也就是说,当我们不断插入数据时,HWM会不断上移,这样,在HWM之下的,就表示使用过的块,HWM之上的就表示已分配但从未使用过的块.
2 HWM在插入数据时,当现有空间不足而进行空间的扩展时会向上移,但删除数据时不会往下移.
这就好比是水库的水位,当涨水时,水位往上移,当水退出后,最高水位的痕迹还是清淅可见.
删除数据后便存在浪费的空间,ORACLE 不会释放空间以供其他对象使用,有一条简单的理由:由于空间是为新插入的行保留的,并且要适应现有行的增长。被占用的最高空间称为最高使用标记 (HWM)。
3 HWM的信息存储在段头当中.
HWM本身的信息是储存在段头.在段空间是手工管理方式时,ORACLE是通过FREELIST(一个单向链表)来管理段内的空间分配.在段空间是自动管理方式时(ASSM),ORACLE是通过BITMAP来管理段内的空间分配.
4 ORACLE的全表扫描是读取高水位标记(HWM)以下的所有块
当用户发出一个全表扫描时,ORACLE 始终必须从段一直扫描到 HWM,即使它什么也没有发现。该任务延长了全表扫描的时间。
采用TRUNCATE语句删除一个表的数据的时候,类似于重新建立了表,不仅把数据都删除了,还把HWM给清空恢复为0。
5 当用直接路径插入行时 — 例如,通过直接加载插入(用 APPEND 提示插入)或通过 SQL*LOADER 直接路径 — 数据块直接置于 HWM 之上。它下面的空间就浪费掉了
在手动段空间管理(Manual Segment Space Management)中,段中只有一个HWM,但是在Oracle 9i Release1才添加的自动段空间管理(Automatic Segment Space Management)中,又有了一个低HWM的概念出来。为什么有了HWM还又有一个低HWM呢,这个是因为自动段空间管理的特性造成的。在手段段空间管理中,当数据插入以后,如果是插入到新的数据块中,数据块就会被自动格式化等待数据访问。而在自动段空间管理中,数据插入到新的数据块以后,数据块并没有被格式化,而是在第一次访问这个数据块的时候才格式化这个块。所以我们又需要一条水位线,用来标示已经被格式化的块。这条水位线就叫做低HWM。一般来说,低HWM肯定是低于等于HWM的。
额外扩展:
[TEST1@orcl] SQL>delete from c;
[TEST1@orcl] SQL>alter table c shrink space;
alter table c shrink space
*
第 1 行出现错误:
ORA-10636: ROW MOVEMENT is not enabled
[TEST1@orcl] SQL>alter table c enable row movement;
表已更改。
[TEST1@orcl] SQL>alter table c shrink space;
表已更改。
[TEST1@orcl] SQL>analyze table c compute statistics;
[TEST1@orcl] SQL>select table_name,blocks,empty_blocks from user_tables where table_name='C';
TABLE_NAME BLOCKS EMPTY_BLOCKS
---------- ---------- ------------
C 1 7
6. 修正ORACLE表的高水位线
在ORACLE中,执行对表的删除操作不会降低该表的高水位线。而全表扫描将始终读取一个段(extent)中所有低于高水位线标记的块。如果在执行删除操作后不降低高水位线标记,则将导致查询语句的性能低下。
下面的方法都可以降低高水位线标记。
(1). 执行表重建指令 alter table table_name move;
在线转移表空间ALTER TABLE ... MOVE TABLESPACE ..
当你创建了一个对象如表以后,不管你有没有插入数据,它都会占用一些块,ORACLE也会给它分配必要的空间.同样,用ALTER TABLE MOVE释放自由空间后,还是保留了一些空间给这个表.
ALTER TABLE ... MOVE 后面不跟参数也行,不跟参数表还是在原来的表空间,Move后记住重建索引。如果以后还要继续向这个表增加数据,没有必要move,只是释放出来的空间,只能这个表用,其他的表或者segment无法使用该空间。
(2). 执行alter table table_name shrink space;
注意,此命令为Oracle 10g新增功能,再执行该指令之前必须允许行移动 alter table table_name enable row movement;
如果要同时压缩表的索引:ALTER TABLE TEST_TAB SHRINK SPACE CASCADE
(3). 复制要保留的数据到临时表t,drop原表,然后rename临时表t为原表
(4). 用逻辑导入导出: Emp/Imp
(5). Alter table table_name deallocate unused
注:这证明,DEALLOCATE UNUSED为释放HWM上面的未使用空间,但是并不会释放HWM下面的自由空间,也不会移动HWM的位置.
(6). 尽量使用truncate.
http://edu.21cn.com/oracle/g_50_761654-1.htm
http://blog.csdn.net/dba_waterbin/article/details/8573041
发表评论
-
Oracle 查询时使用table_name 表的过程
2014-11-03 14:39 622select * from user_source t w ... -
查询Oracle 耗资源sql
2014-10-21 11:23 9671.查看总消耗时间最多的前10条SQL语句 select ... -
oracel分组排序最大记录
2014-08-28 17:21 514sql分组查询最大记录 1. select distinc ... -
ORACLE默认的事务隔离级别查看
2014-08-14 10:04 0declare trans_id Varch ... -
Oracle sqlplus 显示查询过程信息
2014-08-05 11:42 611命令:sqlplus 用户名/密码@ip地址[:端口]/s ... -
Oracle 删除所有session
2014-06-26 18:03 750select sid,serial#,v.* from ... -
表数据查询速度慢
2014-06-04 13:54 0表数据查询速度慢 作了降低水位线的处理,以后如果inse ... -
Oracle 函数
2014-04-10 10:04 623--decode函数替换 update table ... -
Oracle中复制表结构和表数据
2014-03-28 11:42 6511. 复制表结构及其数据: create table ... -
Oracle
2014-01-17 16:20 720oracle表分区详解 http://tianzt.bl ... -
Oracle
2014-01-15 11:34 721http://www.cnblogs.com/damonlan ... -
Oracle查看表结构
2013-10-09 18:42 711SELECT t1.Table_Name AS "表 ... -
查看oracle某个用户下有多少种对象类型,以及每种类型中对象的个数
2013-09-09 09:29 945select OBJECT_TYPE,COUNT(*) f ... -
sql 按日,周,月,年统计
2011-09-29 12:30 1240如: 表:consume_record 字段:consum ... -
oracle修改表精度
2011-03-24 20:38 2508oracle的 表a中有一个字段是number(6,2)类型的 ... -
Oracle的分页
2011-03-24 14:49 876Oracle的分页机制主要不外乎两种方法, 1. 使用row ... -
oracle 文档
2010-05-10 18:51 881oracle 资料 -
oracle 存储过程使用 sequence
2010-01-20 13:32 2704CREATE OR REPLACE PROCEDURE P ... -
sdfasdf
2009-11-19 10:26 900CREATE TABLESPACE "DBSPA ... -
linux下oracle 启动/关闭 isqlplus、me 启动/关闭
2009-11-12 12:49 1079RIA知识库 flex RIA 变量设置 $su - or ...
相关推荐
后端开发是一个涉及广泛技术和工具的领域,这些资源对于构建健壮、可扩展和高效的Web应用程序至关重要。以下是对后端开发资源的简要介绍: 首先,掌握一门或多门编程语言是后端开发的基础。Java、Python和Node.js是其中最受欢迎的几种。Java以其跨平台性和丰富的库而著名,Python则因其简洁的语法和广泛的应用领域而备受欢迎。Node.js则通过其基于JavaScript的单线程异步I/O模型,为Web开发提供了高性能的解决方案。 其次,数据库技术是后端开发中不可或缺的一部分。关系型数据库(如MySQL、PostgreSQL)和非关系型数据库(如MongoDB、Redis)各有其特点和应用场景。关系型数据库适合存储结构化数据,而非关系型数据库则更适合处理大量非结构化数据。 此外,Web开发框架也是后端开发的重要资源。例如,Express是一个基于Node.js的Web应用开发框架,它提供了丰富的API和中间件支持,使得开发人员能够快速地构建Web应用程序。Django则是一个用Python编写的Web应用框架,它采用了MVC的软件设计模式,使得代码结构更加清晰和易于维护。
华为数字化转型实践28个精华问答glkm.pptx
新员工入职培训全流程资料包(100+个文件) 1入职流程指引 万科新职员入职通知书 万科新职员入职引导手册 新进员工跟进管理表 新员工入职报到工作单(文职) 新员工入职报到流程 新员工入职流程表 新员工入职手续办理流程(工厂 新员工入职手续清单 新员工入职须知 新员工入职训流程 新员工入职引导表(导师用) 2 入职工具表格 3 培训方案计划 4培训管理流程 5培训教材课件 6 培训效果检测 7 员工管理制度 8 劳动合同协议 9 新员工培训PPT模板(28套)
FX5U PLC作为主、从站的通讯方式程序实例,以及包含详细说明文件...
技术需求报告-集行波测距与故障录波功能于一体的电网综合故障分析系统.docx
最新二开版本源码博客论坛源码,UI很漂亮,可切换皮肤界面.rar最新二开版本源码博客论坛源码,UI很漂亮,可切换皮肤界面.rar
2024-2030全球及中国广谱防晒霜行业研究及十五五规划分析报告
基于Qt Creator实现中国象棋人机对战, c++实现.zip
华为用“三阶段十二步”法保证业务战略引领数字化转型glkx.pptx
基于matlab实现自适应稳健波束形成对角加载算法,其与输入信噪比的关系.rar
热塑性弹性体,全球前21强生产商排名及市场份额
详见:https://blog.csdn.net/Timi2019/article/details/138357258 【项目技术】 python+Django+mysql 【实现功能】 网站前台: (1)用户可以在不登录的情况下访问本系统,但是不能进行数据的分析,也不能对自己的个人信息进行修改。 (2)用户的注册与登录:游客想要在一个网站对自己的信息进行修改的话,需要经过一系列的有验证信息的注册,成为网站的正式用户后,可以编辑或修改自己的个人信息。 (3)评论分析:用户可以在网站内对所有的评论进行查看和分析。 (4)个人信息:通过个人信息查看功能可以查看自己的个人信息,还可以对密码进行修改。 (5)系统简介:用户可以在网站的首页上查看系统的信息,如用户数量、新闻数量、评价数量等信息。 网站后台: (6)用户信息管理:管理员可以查看和维护网站内所有的用户信息,可以通过用户的编号或者用户名进行查找,查找到具体的用户后可以对用户的信息进行修改,也可以直接删除用户的信息。 (7)新闻管理模块:后台管理员可以对网站内的新闻信息进行管理
某知名大型集团信息化项目建设方案qy.pptx
基于matlab实现潮流计算程序,MATLAB潮流计算程序.rar
搭建数据分析和机器学习平台,实现如下功能:设计一个网页版的用户界面,支持从本地选取数据集、自动可视化分析、查看训练记录、查看训练模型参数和绘图和支持完成机器学习任务。核心工具:streamlit和pycaret,部署和运行方便,只需streamlit run main.py命令即可。
一种统一的单隐层的前馈网络(SLFNs)的在线序列学习算法。该算法被称为在线序极端学习机器(OS-ELM),可以学习固定或不同块大小的逐块或逐块数据)。OS-ELM中加性节点的激活函数可以是任意有界的不变分段连续函数,RBF节点的激活函数可以是任意可积的分段连续函数。在OS-ELM中,随机选择隐藏节点的参数(加性节点的输入权值和偏差或RBF节点的中心和影响因子),并根据顺序到达的数据解析确定输出权值。该算法采用了Huang等人开发的批处理学习的思想,该思想已被证明比其他批处理训练方法非常快。除了选择隐藏节点的数量外,还不需要手动选择其他控制参数。
仿我图网素材购买素材下载素材交易平台网站源码.rar仿我图网素材购买素材下载素材交易平台网站源码.rar
python tkinter
2024-2030全球与中国伊维菌素片剂市场现状及未来发展趋势
Python数据分析大作业(ARIMA 自回归积分滑动平均模型) 4000+字 图文分析文档 销售价格&库存分析+完整python代码