Oracle 高速批量速插入数据 解决方案
最近做短信群发项目有一个需求,需要客户大批量(十万级)导入数据.
开始是用insert单条数据,10万条数据要20分钟
后来发现可以用insert all 一条sql一次导入500条记录,这样10万条数据只用了1.5分钟,导入速度提高了近来20倍
下面就使用insert all的心得体会记录如下.
使用方法:
insert all into table_name(col_1,col_2) values (value_1,value_2)
into table_name(col_1,col_2) values (value_1,value_2)
into table_name(col_1,col_2) values (value_1,value_2)
.........................................................................
into table_name(col_1,col_2) values (value_1,value_2)
select 1 from dual
需要注意几点:
1.此sql语法上要求后面有select,在本例中,select 1 from dual其实是没有意义的,但必须加上,维护语法上的完整性.
2.所有列数不能超过1000,超过抛出异常
3.oracle 9i版本及以上版本支持此语法
相关文档:
一. 死锁的检测
--查死锁的会话。
select A.sid, b.serial#,
decode(A.type,
'MR', 'Media Recovery',
'RT','Redo Thread',
'UN','User Name',
'TX', 'Transaction',
'TM', ' ......
Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数。
Oracle系统中的参数,根据系统使用情况可以简单分为两大类:
普通参数:也就是Oracle系统正常使用的一些参数,
非凡参数:包括三种,过时参数、强调参数和隐藏参数。
随着Orac ......
查看回收站中表
select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;
恢复表
SQL
>flashback table test_drop to before drop;或
SQL
>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to befor ......
以下是摘自Oracle官网:
Ⅰ Oracle SQL Developer 是一个免费的图形化数据库开发工具。使用 SQL Developer,您可以浏览数据库对象、运行 SQL 语句和 SQL 脚本,并且还可以编辑和调试 PL/SQL 语句。您还可以运行所提供的任何数量的报表,以及创建和保存您自己的报表。SQL Developer 可以提高工作效率并简化数据库开发任务。 ......