相关文章推荐
鬼畜的投影仪  ·  GLM(General Language ...·  1 年前    · 
帅气的单杠  ·  python - SQLAlchemy: ...·  1 年前    · 
跑龙套的手链  ·  [HTML5] ...·  2 年前    · 
begin
  for i in 1 .. 1000000 loop
    INSERT INTO "DCA"."TEST_DATA" ("ID", "NAME1", "NAME2", "NAME3")
    VALUES ('id_' || i, i, 'nme2_' || i, 'name3_' || i);
  end loop;
end;
SELECT * FROM test_data;
SELECT count(*) FROM test_data;
由于项目需求,需要将Excel中的数据进过一定转换导入仅Oracle数据库中。考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道入的状态,需要制作一个进度条来显示入的进度。
项目中运用的是System.Data.OracleClient。首先将Excel数据通过转换函数转换为DataTable,其中的字段和数据库中相应表格的字段完全对应。
public int Import2Oracle(ISheet sheet, string tablename)
  DataTable
                                    数据库数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
begin
  insert into tableName(column1, column2, column3...) values(value1,value2,value3...);
  insert into tableName(column1, column2, column3...) values(value1,value2,value3...);
  insert into tableName(column1, column2, column3...) values(value1,value2,value3...);
insert int
                                    有时候做实验测试数据用到大量数据时可以用以下方法入:方法一:使用xmltablecreate table bqh8 as select rownum as id from xmltable('1 to 10000000');select count(*) from bqh8;-----------------------一千数据入。方法二:使用dual+connect by levelc...
                                    首先我们需要建立一个表为tb_1,在里面添加一个(或多个)字段。这里我只添加一个字段为name并添加一行数据。然后我们可以在这个表中添加百万数据,方法如下:
一.借助Oracle中的dual表
select * from tb_1,(select level from dual connect by level <= 500000);
                                    当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候,oracle需要生成 redo log和undo log;此时最好的解决办法是insert数据时, 将表设置为nologging,速度是比较快的。这个时候oracle只会生成最低限度的必须的redo log,而没有一点undo信息。如果有可能将index也删除,重建。先看看实验结果:archivelog操作类型...
	WHEN i > 10000000;
INSERT INTO MYTEST."bigdata" ( "a1", "a2", "a3", "b1", "b2", "b3", "c...
                                    需求:数据迁移,从远端数据库查询数据写入到生产库中。遇到问题,数据量为千级别(具体是6千多条记录的数据),直接使用insert into 目标表 select * from 数据源表。因为目标表本身有上千数据,且有主键和索引,导致写表非常慢。执行了5,6个小时还没跑完,第二天看索性plsqldev已经卡死了。只能强行杀掉了plsqldev的进程。再看看数据,一条都没写进去,有点崩溃。。。...
                                    当我们进行测试数据或者进行某种大数据量的时候,可以用一下语句进行大批量插入,
通过我的测试,10数据入时间为7秒左右,100条记录入时间为65秒,200入为150秒。
我机器配置为 CPU I5 2450M 内存4G 硬盘 西部数据500G 5400转 操作系统为WIN7 64位 ,数据库ORACLE 11G 64位 入测试工具为PL\SQL 9.0
declare
i integer; --定义变量
begin
i := 1;
/* 数据 */
insert i.