小编use*_*er1的帖子

删除 40 万行后表大小不受影响

当我运行以下查询时 select bytes/1024/1024,segment_name,owner from dba_segments where tablespace_name='DATA_L1' and segment_name='Step_Status';

我得到了一个名为“Step_Status”的表的段的以下结果

BYTES/1024/1024         SEGMENT_NAME                OWNER
-----------------------------------------------------------------
 3192                    STEP_STATUS                FLSTD04
Run Code Online (Sandbox Code Playgroud)

它有大约 1800 万个条目

select count(*) from flstd04.step_status;

  COUNT(*)
----------
  18178090
Run Code Online (Sandbox Code Playgroud)

删除近 400 万条条目后

select count(*) from flstd04.step_status;

  COUNT(*)
----------
  14114186
Run Code Online (Sandbox Code Playgroud)

当我再次使用 dba_segments 检查表的大小时,我得到了相同的结果

select bytes/1024/1024,segment_name,owner from dba_segments where tablespace_name='DATA_L1' and segment_name='Step_Status';

  BYTES/1024/1024         SEGMENT_NAME                OWNER
    -----------------------------------------------------------------
   3192                    STEP_STATUS                FLSTD04
Run Code Online (Sandbox Code Playgroud)

为什么即使删除了400万行,表的大小还是一样?

oracle

1
推荐指数
1
解决办法
6158
查看次数

标签 统计

oracle ×1