Loading Data into a Database

image

主要就是比批量导入数据的工具 SQL Loader

image

1. 通过 exp 导出文件,再 imp 到 oracle 的数据库中。

2. 如果原来的数据源不是 oracle , 就可以使用 SQL Loader 导入。

3. 在同一个数据库内,两个表之间导入数据。( 不使用 insert 等语句,直接使用 block 拷贝,这种就是 direct load )

image

上图中,第一种方法,会尝试使用高水位之下的空间插入数据,就是以前有数据后来删除了,留出来的空间。第二种方法, 在高水位之上的,从来没有使用过的空间,不经过 buffercache.第二种方法效率比较高

image

image

image

/*+ 指导 oracle 中如何执行,APPEND 表示不要使用之前delete 之后留下的空间,直接使用高水位右边的块 */

用这种语句,在 commit 之前是不能查询的。

image

image

image

image

image

image

image

image

image

image

image

image

第3种方式是最常见的

image

image

image

image

上百万条以上的导入 用 direct

image

image

image

image

image

在 shell 脚本中调用 SQL LOADER 来执行导入

image

可见 shell 脚本十分重要啊

image

原文地址:https://www.cnblogs.com/moveofgod/p/2866313.html