Oracle中创建用于测试的大表

个人实验的时候有时会用到一些大表,在此分享用dba_objects来创建测试大表的方法:

首先建立测试表

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

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.

Table created.

插入500万条数据:

本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索select
, 测试
, rownum
, number
, 中创
, orcl
数据库 oracle dba_objects
oracle 创建表空间、oracle 创建表、oracle 创建临时表、oracle创建表空间语句、oracle创建表的语句,以便于您获取更多的相关知识。

时间: 2024-10-28 15:46:37

Oracle中创建用于测试的大表的相关文章

Oracle创建用于测试的大表

  个人实验的时候有时会用到一些大表,在此分享用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

在 Mac OS X 系统中创建用于 Mac 的 Ubuntu USB 启动盘

在 Mac OS X 系统中创建用于 Mac 的 Ubuntu USB 启动盘 上个月,在戴尔的服务中心丢失我的笔记本后,我买了一台 Macbook Air 笔记本.买回来后我首先做的一些事就是给机器装上双系统,使 Ubuntu Linux 和 Mac OS X 都可用.随后的文章我会介绍如何在 Macbook 上安装 Linux ,刚开始我们需要学习 如何在 Mac OS X 系统中创建用于 Mac 的 Ubuntu USB 启动盘. 在 Ubuntu 系统或 Windows 系统中创建可启动

如何在ORACLE中實現人民幣大寫的轉換

oracle 如何在ORACLE中實現人民幣大寫的轉換 作者:   CCBZZP        ORACLE在實現報表的功能是很強大的, 特別在現實的應用中會經常用到人民幣大小寫轉換的問題, 在此我寫個函數向大家簡單介紹一下, 希望和大家一起探討, 以便共同進步! 共同發展! 1. 函數DX_MONEY() CREATE FUNCTION  DX_MONEY(  MONEY IN NUMBER)RETURN VARCHAR2 AS V_MONEY VARCHAR2(150);RV_MONEY0

在MySQL中如何有效的删除一个大表?

在MySQL中如何有效的删除一个大表? Oracle大表的删除:http://blog.itpub.net/26736162/viewspace-2141248/ 在DROP TABLE 过程中,所有操作都会被HANG住.这是因为INNODB会维护一个全局独占锁(在table cache上面),直到DROP TABLE完成才释放.在我们常用的ext3,ext4,ntfs文件系统,要删除一个大文件(几十G,甚至几百G)还是需要点时间的.下面我们介绍一个快速DROP table 的方法: 不管多大的

Oracle中创建全文索引支持的类型

Oracle中创建全文索引支持的类型 只能在类型:VARCHAR2, CLOB, BLOB, CHAR, BFILE, XMLType, and URIType上创建: 不能在类型:NCLOB,NVARCHAR2,NCHAR,DATE,NUMBER,TIMESTAMP上创建  

Oracle中创建和管理表详解

以下是对Oracle中的创建和管理表进行了详细的分析介绍,需要的朋友可以过来参考下   SQL> /* SQL> 对于表的操作: 创建表,修改表(添加新的列,改变当前某些列,删除列),删除表 SQL> 创建表: create table(需要create table的权限) SQL> 修改表: alter table tablename add/modify/drop SQL> 删除表:drop table tablename SQL> */ SQL> show

Oracle中创建临时表、外部表和分区表实例

临时表 在Oracle中,临时表是"静态"的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的.相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间.这就避免了与永久对象的数据争用存储空间. 创建临时表的语法如下: CREATE GLOBAL TEMPORARY TABLE table_name( column_name data_type,[column_name data_type,...] )ON CO

oracle中12c比10g索引回表消耗增多的问题

问题是这样的: 在12c中,我们测试了2种情况: 第一种是加了hint,使得12c的执行计划和10g类似,只是由于12c的nlj_batching,多了一次nestloop.但是执行计划本质是相同的,都是索引S_CONTACT_X_U1返回表查询. 第二种是使用了10g的outline hint,OFE=10g的,执行计划完全一样. 但是我们发现,无论是在12c中的哪一种情况,驱动表S_SRV_REQ的索引PA_S_SRV_REQ_1_X的full index scan返回结果差异这么大?  

MySQL中创建、修改和删除表命令(1/2)

其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语句,但是不是任何项目都要用到大框架的,如果不用,那你是不是就不会操作数据库了呢,所以我们最好还是熟悉一点好,对我们以后找工作和工作都有帮助. 在说创建.修改和删除表前,我们还是要进行一个操作的简单说明: 1.登陆数据库系统 在命令行中登陆MySQL数据库管理系统,输入以下内容: mysql -h l