如何制造碎片

简介: C:\Users\Administrator>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期一 7月 5 20:47:21 2010Copyright (c) 1982, 2010, Oracle.  All rights reserved.SQL> conn test/test已连接。

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 7月 5 20:47:21 2010

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn test/test
已连接。
SQL> create table t as select * from dba_objects;

表已创建。

SQL> exec dbms_stats.gather_table_stats(user,'T');

PL/SQL 过程已成功完成。

SQL> select blocks from user_tables where table_name='T';

    BLOCKS
----------
      1129

SQL> create global temporary table t_b1 as select * from t where 1=0;

表已创建。

SQL> -- Created on 2010-4-29 by ADMINISTRATOR
SQL> declare
  2    -- Local variables here
  3    num_cnt                  pls_integer;
  4    i                        pls_integer;
  5    j                        pls_integer;
  6
  7    type tRow is table of rowid;
  8    rows tRow := tRow();
  9  begin
10    -- Test statements here
11    select count(*)
12      into num_cnt
13      from t;
14
15    for i in 0..10000 loop
16      select rowid bulk collect
17        into rows
18        from t sample(0.01);
19
20      forall j in 1..rows.Count
21      insert into t_b1
22      select * from t where rowid=rows(j);
23
24      forall j in 1..rows.Count
25      delete from t where rowid=rows(j);
26
27      insert /*+ append */ into t select * from t_b1;
28
29      commit;
30    end loop;
31
32  end;
33  /

PL/SQL 过程已成功完成。

SQL> /

PL/SQL 过程已成功完成。

SQL> /

PL/SQL 过程已成功完成。

SQL> /

PL/SQL 过程已成功完成。

SQL> /

PL/SQL 过程已成功完成。

SQL> exec dbms_stats.gather_table_stats(user,'T');

PL/SQL 过程已成功完成。

SQL> select blocks from user_tables where table_name='T';

    BLOCKS
----------
      2495

SQL> -- Created on 2010-4-29 by ADMINISTRATOR
SQL> declare
  2    -- Local variables here
  3    num_cnt                  pls_integer;
  4    i                        pls_integer;
  5    j                        pls_integer;
  6
  7    type tRow is table of rowid;
  8    rows tRow := tRow();
  9  begin
10    -- Test statements here
11    select count(*)
12      into num_cnt
13      from t;
14
15    for i in 0..10000 loop
16      select rowid bulk collect
17        into rows
18        from t sample(0.05);
19
20      forall j in 1..rows.Count
21      insert into t_b1
22      select * from t where rowid=rows(j);
23
24      forall j in 1..rows.Count
25      delete from t where rowid=rows(j);
26
27      insert /*+ append */ into t select * from t_b1;
28
29      commit;
30    end loop;
31
32  end;
33  /

PL/SQL 过程已成功完成。

SQL> /

PL/SQL 过程已成功完成。

SQL> /

PL/SQL 过程已成功完成。

SQL> exec dbms_stats.gather_table_stats(user,'T');

PL/SQL 过程已成功完成。

SQL> select blocks from user_tables where table_name='T';

    BLOCKS
----------
      6767

by sundog315

目录
相关文章
|
3天前
|
传感器 人工智能 自动驾驶
智慧城市中的智能交通系统:缓解拥堵与提升出行效率
【9月更文挑战第16天】随着城市化进程加快,交通拥堵和污染等问题日益严重,成为制约城市发展的瓶颈。为此,智慧城市应运而生,其中智能交通系统(Intelligent Traffic System, ITS)作为核心部分,正逐渐成为缓解交通拥堵、提升出行效率的关键力量。本文将探讨智能交通系统如何通过信号优化、智能导航及公交调度等策略,结合实时路况监测与自动驾驶技术,为城市交通带来革命性变革。未来,随着技术进步和政策支持,智能交通系统将进一步智能化并与智慧城市其他系统深度融合,共同推动城市的可持续发展。
44 17
|
存储 运维 大数据
希捷CORVAULT:既是空间革命也是效率革命
希捷CORVAULT:既是空间革命也是效率革命
制造业中节省电力的方法
你有一大笔电费,你真的很想省电省钱,但你不知道从哪里开始。这里有一些典型的途径。
258 0
制造业中节省电力的方法
为减少和Moblieye的业务重叠,英特尔裁撤自动驾驶员工
虽然有了Mobileye,英特尔也从未停下对自动驾驶技术相关公司的投资。
214 0
|
数据库 关系型数据库 索引
空间碎片化处理
当数据库实例磁盘空间使用率比较大时,我们优先选择的方法一定是将可以清理的无用数据进行清理,如果实在是没有数据可清理,我们才会考虑对磁盘进行扩容,必将扩容磁盘要!花!钱!本篇主要将一下空间碎片化清理的一个案例。
1649 0
本田计划2025年回收废旧锂离子电池生产镍钴合金
据悉,本田一高管表示,计划到2025年,使用废旧锂离子电池作为原料,开始生产镍钴合金。来源:https://xincailiao.ofweek.com/
1254 0