欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 测试常用表BIG_TABLE

程序员文章站 2022-04-18 18:21:34
...

创建测试用表,DBA经常用到,通常都是基于dba_objects来创建的比较多。本文根据Tom大师的big_table进行了整理,供大家参考。 一、基于Oracle 10g下的big_table --==============================================-- Create a test table for Oracle 10g-- Fi

创建测试用表,,DBA经常用到,通常都是基于dba_objects来创建的比较多。本文根据Tom大师的big_table进行了整理,供大家参考。
一、基于Oracle 10g下的big_table

--============================================== -- Create a test table for Oracle 10g -- File : cr_big_tb_10g.sql -- Author : Robinson -- Blog : --============================================== prompt prompt Create a big table from all_objects prompt ====================================== CREATE TABLE big_table AS SELECT ROWNUM id, a.* FROM all_objects a WHERE 1=0; prompt prompt Modify table to nologgming mode prompt ========================== ALTER TABLE big_table NOLOGGING; prompt prompt Please input rows number to fill into big_table prompt ============================================ DECLARE l_cnt NUMBER; l_rows NUMBER := &1; BEGIN INSERT /*+ append */ INTO big_table SELECT rownum, a.* FROM all_objects a; l_cnt := SQL%ROWCOUNT; COMMIT; WHILE (l_cnt USER, tabname => 'BIG_TABLE', method_opt => 'for all indexed columns', cascade => TRUE); END; / prompt prompt check total rows for big_table prompt ==================================== SELECT COUNT(*) FROM big_table;

二、基于Oracle 11g下的big_table

--============================================== -- Create a test table for Oracle 11g -- File : cr_big_tb_11g.sql -- Author : Robinson -- Blog : --============================================== prompt prompt Create a big table from all_objects prompt ====================================== CREATE TABLE big_table AS SELECT ROWNUM id, a.* FROM all_objects a WHERE 1=0; prompt prompt Modify table to nologgming mode prompt ========================== ALTER TABLE big_table NOLOGGING; prompt prompt Please input rows number to fill into big_table prompt ============================================ DECLARE l_cnt NUMBER; l_rows NUMBER := &1; BEGIN INSERT /*+ append */ INTO big_table SELECT rownum, a.* FROM all_objects a; l_cnt := SQL%ROWCOUNT; COMMIT; WHILE (l_cnt USER, tabname => 'BIG_TABLE', method_opt => 'for all indexed columns', cascade => TRUE); END; / prompt prompt check total rows for big_table prompt ==================================== SELECT COUNT(*) FROM big_table;