高水位线实验:
-- 创建test3表
SQL> create table test3 as
2 select * from dba_objects where 1 = 2;
Table created
-- 查看表中分配块,区大小
SQL> SELECT segment_name, segment_type, blocks, extents --blocks -- 分配数据块数, extents -- 分配区块数
2 FROM dba_segments
3 WHERE segment_name = 'TEST3';
SEGMENT_NAME SEGMENT_TYPE BLOCKS EXTENTS
------------------------------------- ---------- ----------
TEST3 TABLE 8 1
-- 分析表TEST3表
SQL> ANALYZE TABLE TEST3 ESTIMATE STATISTICS;
Table analyzed
-- 查询TEST3表高水位线
SQL> SELECT blocks -- 高水位线(占用TEST3表数据块数), empty_blocks -- TEST3表空闲块数, num_rows
2 FROM user_tables
3 WHERE table_name = 'TEST3';
BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ------------ ----------
0 7 0
-- 因为未向TEST3表中插入任何数据,因此此表的高水位线为0,现向TEST3表中插入数据再观察
SQL> insert into test3
2 select * from dba_objects;
50361 rows inserted
SQL> commit;
Commit complete
-- 重新分析表
SQL> ANALYZE TABLE TEST3 ESTIMATE STATISTICS;
Table analyzed
-- 再次查看表中分配块,区大小
SQL> SELECT segment_name, segment_type, blocks, extents
2 FROM dba_segments
3 WHERE segment_name = 'TEST3';
SEGMENT_NAME SEGMENT_TYPE BLOCKS EXTENTS
--------------------------------------- ---------- ----------
TEST3 TABLE 8 1
TEST3 TABLE 768 21
此时看到BLOCKS数已增长到768, 也就是Oracle分配给TEST3表768个数据块,21个区
-- 再次查看TEST3表高水位线
SQL> SELECT blocks, empty_blocks, num_rows
2 FROM user_tables
3 WHERE table_name = 'TEST3';
BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ------------ ----------
689 78 50361
已增长到689个块, 还有78个空闲块,689 + 78 = 767, 比分配的少1个数据块,是因为这一个数据块是用作segment header
-- 现将TEST3表delete,在查看高水位线
SQL> delete from test3;
50361 rows deleted
SQL> commit;
Commit complete
SQL> ANALYZE TABLE TEST3 ESTIMATE STATISTICS;
Table analyzed
SQL>
SQL> SELECT blocks, empty_blocks, num_rows
2 FROM user_tables
3 WHERE table_name = 'TEST3';
BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ------------ ----------
689 78 0
发现此表高水位线并未减少,证明delete只是删除表中数据块的记录,但并不会使表中的高水位线下降, 在进行全表扫描时会Oracle会扫描表中高水位线下的所有数据块,
因此数据虽然被删除了,但查询时有可能还是很慢。所以在进行大表删除时应使用truncate语句,看下面实验:
SQL> truncate table test3;
Table truncated
SQL> ANALYZE TABLE TEST3 ESTIMATE STATISTICS;
Table analyzed
SQL>
SQL> SELECT blocks, empty_blocks, num_rows
2 FROM user_tables
3 WHERE table_name = 'TEST3';
BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ------------ ----------
0 7 0
分享到:
相关推荐
浮球开关是一种简单的机械式水位检测设备,而超声波水位传感器则通过发射超声波并接收其反射波来测量水位,具有更高的精度。此外,还包括电磁阀(进水阀和出水阀)的控制电路设计。 在软件自动控制部分,涉及的主要...
双容水箱水位控制系统是一种常见的过程控制...通过实验建模、PID控制算法和智能调节仪表,实现对水位的精确控制。实验不仅加深了对控制理论的理解,也提供了实际应用的经验,为实际工业生产中的液位控制提供了参考。
"MCGS水位控制系统实验" 本实验主要介绍如何使用MCGS组态软件建立一个水位控制系统,涵盖了工程的建立、画面流程设计、动画制作、模拟设备的连接、报警输出、报表曲线显示与打印等多项组态操作。 知识点1: MCGS...
Oracle 12c实验-段和高水位线.pdf Oracle 12c实验-管理表空间.pdf Oracle 12c实验-管理归档重做日志.pdf Oracle 12c实验-管理控制文件.pdf Oracle 12c实验-管理数据文件和临时文件.pdf Oracle 12c实验-管理重做日志....
液位器实验报告是关于液位检测技术的一个实践性学习项目,其中包含了使用Protel软件进行电路设计的全过程。Protel是一款广泛应用于电子设计领域的软件,集成了原理图绘制、PCB布局布线以及仿真等功能,是工程师们...
【MCGS水位控制系统实验】是一个教学案例,旨在教授如何使用MCGS(嵌入式组态软件)构建一个水位控制系统的工程。在这个实验中,学生将学习到MCGS软件的基本操作,包括创建新工程、设计画面流程、动画制作、控制逻辑...
- **实验系统的改进**:针对实验中发现的问题,例如数据采集卡精度不足,可以考虑采用更高位数的数据采集卡以提高整体精度;同时,对实验台的设计进行优化,减少外部干扰因素的影响,提升测量结果的可靠性。 通过...
"MCGS水位控制系统实验" 本实验旨在通过建立一个水位控制系统的组态过程,介绍如何应用MCGS组态软件完成一个工程。通过本讲及后续几讲学习,您将会应用MCGS组态软件建立一个比拟简单的水位控制系统。本样例工程中...
包括但不限于基本指令实验、自动售货机的模拟控制、液体混合的模拟控制、运料小车的模拟控制、水塔水位的模拟控制、传送带的模拟控制、机械手的模拟控制、交通灯的模拟控制、数码显示的模拟控制、装配流水线的模拟...
- 第三章则进一步进入应用实验,如水塔水位控制实验和四节传送带模拟实验,让学生在实践中理解PLC在实际工业场景中的应用。 通过这些实验,学生不仅能学习到理论知识,还能提升动手能力和问题解决能力,为将来在...
1、嵌入式物联网单片机项目开发实战。例程经过精心编写,简单好用。 2、代码使用KEIL 标准库开发,当前在STM32F103运行,如果是STM32F103其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。...
### 华南农业大学数电实验参考答案解析 #### 实验一:认知实验 **目标:** 1. **熟悉实验箱:** 了解数字逻辑实验箱的基本结构、功能及使用方法。 2. **掌握门电路:** 掌握非门、与非门的逻辑功能及其测试方法。 3....
本实验装置主要包括自循环供水装置、实验台、调速器、水位调节阀、恒压水箱、管嘴、集水箱、带活塞的测压管、抗冲平板等组件。 实验原理: 本实验装置应用了自动控制的反馈原理和动摩擦减阻技术,可以自动调节测压...
4. **科学研究**:在实验室中,用于精密实验设备的水温水位控制。 #### 六、总结 基于单片机的水温水位控制系统通过采用先进的硬件技术和软件算法,实现了对水温和水位的智能化控制。该系统不仅提高了控制精度,还...
实验分为模拟构件爆破实验和产品抽样实验,前者常用于高成本单件容器的研究,后者则适用于大批量生产的监控。 实验目的是: 1. 掌握实验操作和设备,观察并分析爆破过程中的现象。 2. 测定容器的整体屈服压力,对比...