【Oracle】建立用於測試的大表

來源:互聯網
上載者:User

個人實驗的時候有時會用到一些大表,在此分享用dba_objects來建立測試大表的方法:

首先建立測試表

SYS@ORCL>create table test nologging as select rownum id,a.* from dba_objects a where 1=2;

 

Table created.

插入500萬條資料:

SYS@ORCL>declare

  l_cnt number;

  l_rows number:=&1;

begin

  insert /*+ append */ into test select rownum,a.* from dba_objects a;

  l_cnt:=sql%rowcount;

  commit;

  while(l_cnt<l_rows)

  loop

    insert /*+ append */ into test select rownum+l_cnt,

           owner,object_name,subobject_name,

           object_id,data_object_id,

           object_type,created,last_ddl_time,

           timestamp,status,temporary,

           generated,secondary

           from sales

           where rownum<=l_rows-l_cnt;

           l_cnt:=l_cnt+sql%rowcount;

     commit;

   end loop;

 end;  2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21  

 22  /

Enter value for 1: 5000000

old   3:   l_rows number:=&1;

new   3:   l_rows number:=5000000;

 

PL/SQL procedure successfully completed.

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.