Oracle中加速数据导入特性和技术研究
2007-05-10 12:16:37 来源:WEB开发网核心提示: CREATE TABLE AS SELECT,使用Oracle9i的External TableOracle 9i 的一项新特性就是 External Table,Oracle中加速数据导入特性和技术研究(4),它就象通常的数据库表一样,拥有字段和数据类型约束,而且索引没有被创建,访问数据
CREATE TABLE AS SELECT,使用Oracle9i的External Table
Oracle 9i 的一项新特性就是 External Table,它就象通常的数据库表一样,拥有字段和数据类型约束,并且可以查询,但是表中的数据却不存储在数据库中,而是在与数据库相关联的普通外部文件里。当你查询 External Table 时,Oracle 将解析该文件并返回符合条件的数据,就象该数据存储在数据库表中一样。
需要注意的是,你可以在查询语句中将 External Table 与数据库中其他表进行连接(Join),但是不能给 External Table 加上索引,并且不能插入/更新/删除数据,毕竟它不是真正的数据库表。另外,如果与数据库相关联的外部文件被改变或者被删除,这会影响到 External Table 返回查询结果,所以在变动前要先跟数据库打招呼。
这种方法为导入数据打开了新的一扇门。你可以很容易的将外部文件与数据库相关联,并且在数据库中创建对应的 External Table,然后就可以立即查询数据,就象外部数据已经导入到数据库表中一样。唯一的不足需要明确,数据并未真正导入到数据库中,当外部文件被删除或覆盖时,数据库将不能访问 External Table 里的数据,而且索引没有被创建,访问数据速度将有所缓慢。创建 CALLS_EXTERNAL(External Table表)如下,使之与外部数据文件关联:
CREATE TABLE calls_external
(call_id NUMBER,
call_date DATE,
emp_id NUMBER,
call_type VARCHAR2(12),
details VARCHAR2(25))
ORGANIZATION EXTERNAL
( TYPE oracle_loader
DEFAULT DIRECTORY extract_files_dir
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ’,’
MISSING FIELD VALUES ARE NULL
(
call_id, call_date CHAR DATE_FORMAT DATE MASK
"yyyy-mm-dd:hh24:mi:ss",
emp_id, call_type, details
)
)
LOCATION (’calls.dat’)
);
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接