Delete不释放高水位线的问题,与truncate对比实验
Oracle高水位线 HWM对数据库影响:
1. 全表扫描通常要读取直到HWM标记内,所有属于该表数据库块,即使该表中没有任何数据,这样将耗费更多的I/O资源;
2. 即使HWM以下有空闲的数据库块,键入在插入数据时使用了append关键字,则在插入时使用HWM以上的数据块,此时HWM会自动增大;
3. 优点,可使HWM以下的数据块重复利用。
----实验-----------------------------------------------------------------------
1. 建表
Create table test_0412 as
select * from user_objects;
2. 查看统计信息
select t.BLOCKS, t.NUM_ROWS
from user_tables t
where t.TABLE_NAME = 'TEST_0412';
结果为空,说明系统没有收集到统计信息。
查看段信息:
select blocks from user_segments where segment_name='TEST_0412';
--结果说明数据已保存至段:
BLOCKS 8
-------------------------------------------------------------------------------
Select * from test_0412;
没有统计信息情况下,看执行计划,走的全表扫描,逻辑读为1,物理读为38,如下:
Execution Plan
----------------------------------------------------------
Plan hash value: 3552262383
---------------