SQL Loader可以用来将大批量数据导入数据库,如果用insert语句一条条插入的话,还是很慢的。
本人测试下来数据:
一张150个字段的表导入10万条记录
用普通的INSERT语句插入,耗时538s
换成SQL Loader以后,耗时70s。
可以节省相当多的时间!
SQL Loader使用入门(通过例子教你,通俗易懂):
http://www.oracle-dba-online.com/sql_loader.htm
http://www.thegeekstuff.com/2012/06/oracle-sqlldr/
命令:
sqlldr userid=user/pass@sid control=/export0/home/xx.ctl log=/export0/home/xx.log
另附一个自动生成SQL Loader ctl文件的方法:
运行以下SQL即可
select
'LOAD DATA
APPEND
INTO TABLE ' || '&TABLE_NAME' ||
' FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(' "Column Name",' ' "sql_loader_type" from dual
union all
select
COLUMN_NAME,
DECODE(DATA_TYPE,
'TIMESTAMP(6)','TIMESTAMP "YYYY-MM-DD HH24:MI:SS.FF",',
'NUMBER','DECIMAL EXTERNAL,',
'VARCHAR2','CHAR,',
'CHAR','CHAR',
'DATE','"TO_DATE(SUBSTR(:' || column_name || ',1,19),''YYYY-MM-DD HH24:MI:SS'')",'
) "sql_loader_type"
from (
select * from
all_tab_cols
where owner=UPPER('&SCHEMA_NAME') AND TABLE_NAME = UPPER('&TABLE_NAME')
order by column_id)
union all
select ')' "Column Name" , '' "sql_loader_type" from dual
运行完把结果拷贝出来再加工一下即可。
分享到:
相关推荐
它读取外部数据文件,如CSV,然后根据控制文件(ctl文件)的指令将数据解析并插入到数据库表中。控制文件是`SQL*Loader`的核心,它定义了数据文件的格式、字段映射、转换规则等。 1. **创建控制文件**:一个`.ctl`...
SQL Loader的工作原理基于控制文件,这是一个包含有关如何处理数据文件的指令的文本文件。通过指定字段的格式、数据转换规则和错误处理策略,SQL Loader能够快速将数据从文本文件加载到Oracle表中。它的优点在于速度...
SQL*Loader是Oracle数据库系统提供的一种高效的数据加载工具,它能够快速地将结构化文本数据文件导入到数据库中。在大型数据仓库应用中,SQL*Loader因其直接路径和并行加载功能而备受青睐,这些特性使得它在大量数据...
在描述中提到,"sqlloader方便数据的导入导出",确实如此,SQL*Loader不仅支持数据的导入,还可以用于导出数据。对于导入,它能处理大量数据,并且支持多种数据类型,包括字符串、数字、日期等。对于导出,可以通过...
随后,SQL*Loader将根据指定的控制文件(CTL类型)执行数据加载任务。例如,若控制文件名为`CARLOAD.ctl`,则可通过以下命令启动数据加载流程: ``` sqlload /carload ``` 其中,斜杠`/`表示用户名将基于当前的...
### SQLLoader实用教程知识点详解 #### 一、SQL*Loader简介 SQL*Loader是Oracle数据库提供的一个强大且灵活的数据加载工具,主要用于将外部文件中的数据批量导入到Oracle数据库中。这些外部文件通常为文本文件,但...
Oracle SQL*Loader是Oracle数据库系统提供的一个强大工具,用于快速高效地从外部数据文件批量导入数据到数据库中。它的灵活性和可配置性使得用户可以根据不同的数据格式和需求进行定制化的数据加载。 首先,使用SQL...
- **日志文件**:SQL*Loader 在运行过程中会生成日志文件,记录导入过程中的详细信息,包括成功的记录和失败的记录。 #### 四、SQL*Loader 基本使用步骤 1. **创建数据文件**:通常是一个文本文件,其中包含了要...
我们需要编写一个控制文件(.ctl文件),它定义了如何解析TXT文件和如何将数据插入到数据库表中。 4. **编写控制文件**:控制文件包含了关于如何读取TXT文件和加载数据的具体指令。例如,指定字段的分隔符、是否...
在具体使用过程中,SQL*Loader依赖于控制文件(.ctl文件),这是一个包含数据文件格式和数据库表映射信息的文本文件。用户可以通过编辑控制文件来指定要加载的数据字段、数据类型、排序顺序、数据验证规则等。例如,...
动态生成CTL(Control File)文件是SQL Loader的重要环节,因为这些文件包含了数据导入的具体指令,如字段映射、数据格式等。 接下来,"远程目录文件解压"涉及到文件系统的操作和网络通信。在shell脚本中,可以使用...
SQL*Loader的工作原理是读取用户指定的数据文件,通过控制文件(.ctl文件)定义数据格式,然后将数据批量加载到Oracle数据库的表中。控制文件是SQL*Loader的核心,它包含关于如何解析数据文件、如何映射字段到数据库...
下面是一个SQLLoader的例子,创建了一个名为SOURCE_JRB的表,然后使用一个名为jrb.ctl的控制文件来定义数据加载规则。控制文件指示了数据文件(jrb.dat)的布局,如字段位置、数据类型转换和加载模式。例如,JR字段...
SQL*Loader通过读取控制文件(.ctl文件),将数据从文本文件(如CSV或固定宽度格式)加载到数据库表中。控制文件定义了数据文件的格式、字段映射以及加载规则。 **2. 数据导入流程** - **创建控制文件**:控制文件...
2. **查看日志文件**:SQL*Loader会在执行过程中生成日志文件(默认为`input.log`),用于记录导入过程中发生的错误或警告。通过检查日志文件可以确保数据导入的成功与否。 #### 验证数据 1. **使用SQL*Plus验证**...
结合`Spool`和`SQL*Loader`,我们可以创建一个自动化流程,先使用Spool收集SQL查询结果,然后将结果保存到CSV文件,最后使用SQL*Loader将这些数据导入到数据库。这样的流程对于数据迁移、备份和分析非常有帮助。 在...
在Oracle数据库管理中,SQL*Loader(简称sqlldr)是一个非常强大的工具,用于将外部数据文件中的数据批量加载到Oracle数据库表中。当涉及到处理带有自动增加字段的表时,SQL*Loader提供了一些灵活的方法来确保数据的...
Oracle SQL*Loader(sqlldr)是Oracle数据库提供的一种强大的数据加载工具,用于将大量数据从文本文件快速导入到数据库表中。在这个实例中,我们将详细探讨如何使用SQL*Loader导入包含日期列的数据。 首先,我们...
SQL*Loader会生成日志文件,帮助你定位和解决问题。 6. **批量处理**:由于描述中提到“不限txt数量”,所以可能涉及多个TXT文件的批量导入。这可以通过编写脚本或程序循环调用SQL*Loader,每次处理一个文件来实现...