`
CrazyNemo
  • 浏览: 197107 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

oracle 中 insert,copy,insert append 执行对比

阅读更多

还是由于迁移数据库,测试了insert,copy,insert append的执行速度。


环境:oracle9i向oracle11g迁移,linux系统。

表已建立,只允许插入数据,而不能使用create .. select 或 copy .. create。

 

1. 建立dblink,供insert,insert append使用。


2. 登录11g数据库。并set timing on


3. 建立视图查看redo size

create redo_size as

select value
from v$mystat, v$statname
where v$mystat.statistic# = v$statname.statistic#
and v$statname.name = 'redo size';


4. insert into dblink_test_tab select * from tran_rec_03@dblink_test;

 

insert /*+ APPEND */ into dblink_test_tab select * from tran_rec_03@dblink_test;


copy from ispay/ispay@crmtest insert dblink_test_tab using select * from tran_rec_03;


在执行以上所有语句前与后执行select * from redo_size;


5. 得到的结果如下:

redo_size 用时

insert 177821968 4'25"
insert append 3590412 3'15"
copy 124438620 4'20"
数据量:495665


结论:

insert 需要的时间最多,redo量最大。

insert append 需要的时间最短,redo量最小。

copy则不需要dblink。

0
1
分享到:
评论

相关推荐

    快速掌握Oracle数据库中的Copy命令

    Oracle数据库中的Copy命令是SQL*Plus提供的一种便捷的数据复制工具,尤其对于DBA来说,它在处理表间数据复制任务时具有较高的效率。Copy命令允许用户在同一个数据库的不同表之间,甚至不同服务器的数据库之间复制...

    oracle文档

    Oracle的COPY命令是SQL*Plus工具中用于在数据库之间复制数据的一种高效方法。它通过SQL*Net连接在本地或远程的表之间传输数据,适用于DBA进行数据迁移、备份或同步等任务。以下是对COPY命令的详细说明: 1. **基本...

    oracle dbms_lob

    例如,可以使用`DBMS_LOB.WRITE`在INSERT或UPDATE语句中修改LOB值,或者使用`DBMS_LOB.APPEND`在已有的LOB后面添加新内容。 学习`DBMS_LOB`包的过程中,了解其每个过程和函数的参数含义、使用场景和返回值非常重要...

    Oracle 大数据量操作优化

    copy from username/password@oraclename append table_name1 using select * from table_name2; ``` 2. **常规插入方式** - 直接使用`INSERT INTO...SELECT FROM`语句将数据从一个表插入到另一个表。 - 为了...

    oracle_plsql语句大全

    在Oracle PL/SQL中,SQL*PLUS是一个非常重要的工具,它提供了一系列命令用于执行SQL和PL/SQL脚本,如: - `@`:运行存储在文件中的SQL或PL/SQL脚本。 - `#del`:删除当前行。 - `$describe`:显示表或视图的列信息。...

    Oracle 大数据量操作优化.pdf

    10. **批量拷贝与常规插入**:Oracle提供的COPY命令和常规的INSERT INTO...SELECT语句是批量数据迁移的常见方式,通过设置ARRAYSIZE和COPYCOMMIT,可以控制批量处理的大小,提高效率。 11. **CTAS(CREATE TABLE AS...

    insert大量数据经验之谈

    本文主要分享了在非生产环境中快速、大批量插入数据的一些经验技巧,这些技巧主要适用于Oracle数据库系统。 首先,基础的`INSERT INTO ... SELECT FROM`语句是最常见的数据迁移方式。例如: ```sql INSERT INTO tab...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    oracle pl/sql 编程大全

    - `INSERT`:插入新行到表中。 - `SELECT`:从表中检索数据。 - `LOCK`:锁定表。 - `UPDATE`:更新表中的数据。 - `CREATE`:创建新的数据库对象。 - `NOAUDIT`:取消审计。 - `VALIDATE`:验证对象。 - `...

    Oracle8i对Blob和Clob类型的操作

    2. **UPDATE**:更新已存在的LOB字段,可以使用DBMS_LOB的APPEND、TRIM、COPY等函数来修改数据。 3. **SELECT**:通过SELECT语句读取LOB数据,可以使用DBMS_LOB.GETLENGTH函数获取长度,DBMS_LOB.SUBSTR函数截取部分...

    Oracle 编程手册(SQL大全)

    - **SQL命令关键字**:在Oracle中,有17个关键字被用于作为SQL语句的开头,包括: - `ALTER`: 修改数据库对象。 - `DROP`: 删除数据库对象。 - `REVOKE`: 撤销权限。 - `AUDIT`: 记录特定操作。 - `GRANT`: ...

    Oracle常用命令参考

    16. **APPEND**: 将数据添加到现有的数据文件中,通常在进行大数据量的插入操作时使用。 17. **ASCII**: 返回字符的ASCII码值,用于字符编码的转换。 18. **ASIN**: 数学函数,计算反正弦值。 19. **ATAN**: 数学...

    《Oracle9i关系数据库实用教程》电子教案

    数据拷贝命令`COPY`能够高效地在不同数据库之间迁移数据,特别适用于处理LONG类型数据列,且提供了APPEND、CREATE、INSERT和REPLACE等多种操作选项。 2. **SQL*Plus Worksheet**:这是SQL*Plus的一个全屏幕开发环境...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    清华滕永昌SQL笔记

    2. 数据操纵语言(DML):DML允许用户对数据库中的数据进行修改,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)操作。 3. 数据定义语言(DDL):DDL用于创建和管理数据库对象,如表、视图、索引等。 4. 数据...

    Oracle PLSQL 编程手册(SQL大全)

    - **文件操作**: `APPEND`, `BREAK`, `COPY`, `EDIT`, `GET`, `SAVE`, `START`, `SPPOOL` - **环境设置**: `ACCEPT`, `CLEAR`, `DEFINE`, `DISCONNECT`, `EXIT`, `HOST`, `INPUT`, `PAUSE`, `QUIT`, `SET`, `TIMING`...

    Oracle_PLSQL_编程手册(SQL大全)

    在 Oracle 数据库管理中,SQL*Plus 是一个非常重要的工具,它可以帮助用户执行 SQL 语句并查看结果。以下是一些常用的基础命令: 1. **数据定义语言(Data Definition Language, DDL)**: - `ALTER`:修改数据库...

Global site tag (gtag.js) - Google Analytics