`

高水位线实验

 
阅读更多

高水位线实验:

-- 创建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 


分享到:
评论

相关推荐

    水塔水位控制(PLC实验)

    浮球开关是一种简单的机械式水位检测设备,而超声波水位传感器则通过发射超声波并接收其反射波来测量水位,具有更高的精度。此外,还包括电磁阀(进水阀和出水阀)的控制电路设计。 在软件自动控制部分,涉及的主要...

    双容水箱水位控制系统实验报告

    双容水箱水位控制系统是一种常见的过程控制...通过实验建模、PID控制算法和智能调节仪表,实现对水位的精确控制。实验不仅加深了对控制理论的理解,也提供了实际应用的经验,为实际工业生产中的液位控制提供了参考。

    MCGS水位控制系统实验.doc

    "MCGS水位控制系统实验" 本实验主要介绍如何使用MCGS组态软件建立一个水位控制系统,涵盖了工程的建立、画面流程设计、动画制作、模拟设备的连接、报警输出、报表曲线显示与打印等多项组态操作。 知识点1: MCGS...

    Oracle 12c体系结构学习实验笔记

    Oracle 12c实验-段和高水位线.pdf Oracle 12c实验-管理表空间.pdf Oracle 12c实验-管理归档重做日志.pdf Oracle 12c实验-管理控制文件.pdf Oracle 12c实验-管理数据文件和临时文件.pdf Oracle 12c实验-管理重做日志....

    液位器实验报告

    液位器实验报告是关于液位检测技术的一个实践性学习项目,其中包含了使用Protel软件进行电路设计的全过程。Protel是一款广泛应用于电子设计领域的软件,集成了原理图绘制、PCB布局布线以及仿真等功能,是工程师们...

    MCGS水位控制系统实验05860.doc

    【MCGS水位控制系统实验】是一个教学案例,旨在教授如何使用MCGS(嵌入式组态软件)构建一个水位控制系统的工程。在这个实验中,学生将学习到MCGS软件的基本操作,包括创建新工程、设计画面流程、动画制作、控制逻辑...

    流量计标定实验实验报告.docx

    - **实验系统的改进**:针对实验中发现的问题,例如数据采集卡精度不足,可以考虑采用更高位数的数据采集卡以提高整体精度;同时,对实验台的设计进行优化,减少外部干扰因素的影响,提升测量结果的可靠性。 通过...

    MCGS水位控制系统实验.pdf

    "MCGS水位控制系统实验" 本实验旨在通过建立一个水位控制系统的组态过程,介绍如何应用MCGS组态软件完成一个工程。通过本讲及后续几讲学习,您将会应用MCGS组态软件建立一个比拟简单的水位控制系统。本样例工程中...

    PLC实验指导书

    包括但不限于基本指令实验、自动售货机的模拟控制、液体混合的模拟控制、运料小车的模拟控制、水塔水位的模拟控制、传送带的模拟控制、机械手的模拟控制、交通灯的模拟控制、数码显示的模拟控制、装配流水线的模拟...

    plc实验指导书

    - 第三章则进一步进入应用实验,如水塔水位控制实验和四节传送带模拟实验,让学生在实践中理解PLC在实际工业场景中的应用。 通过这些实验,学生不仅能学习到理论知识,还能提升动手能力和问题解决能力,为将来在...

    STM32F103单片机开发例程-水位传感器实验.rar

    1、嵌入式物联网单片机项目开发实战。例程经过精心编写,简单好用。 2、代码使用KEIL 标准库开发,当前在STM32F103运行,如果是STM32F103其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。...

    华南农业大学数电实验参考答案

    ### 华南农业大学数电实验参考答案解析 #### 实验一:认知实验 **目标:** 1. **熟悉实验箱:** 了解数字逻辑实验箱的基本结构、功能及使用方法。 2. **掌握门电路:** 掌握非门、与非门的逻辑功能及其测试方法。 3....

    同济大学流体力学实验报告.doc

    本实验装置主要包括自循环供水装置、实验台、调速器、水位调节阀、恒压水箱、管嘴、集水箱、带活塞的测压管、抗冲平板等组件。 实验原理: 本实验装置应用了自动控制的反馈原理和动摩擦减阻技术,可以自动调节测压...

    压力容器爆破实验-5页.pdf

    实验分为模拟构件爆破实验和产品抽样实验,前者常用于高成本单件容器的研究,后者则适用于大批量生产的监控。 实验目的是: 1. 掌握实验操作和设备,观察并分析爆破过程中的现象。 2. 测定容器的整体屈服压力,对比...

Global site tag (gtag.js) - Google Analytics