gpt4 book ai didi

sql - 使用 SQL 高效插入大量数据

转载 作者:行者123 更新时间:2023-12-02 09:31:55 24 4
gpt4 key购买 nike

嗨,我经常需要将大量数据插入表中。例如,我将从 Excel 或文本文件中获取数据,格式为

1,a
3,bsdf
4,sdkfj
5,something
129,else

然后我经常在这个例子中构造6条插入语句并运行SQL脚本。我发现当我必须向服务器发送数千个小包时,这很慢,而且还会给网络带来额外的开销。

你最好的方法是什么?

更新:我正在使用 ORACLE 10g。

最佳答案

使用Oracle external tables .

另请参阅例如

一个应该帮助您入门的简单示例

您需要位于服务器目录中的文件(熟悉 directory objects ):

SQL> select directory_path from all_directories where directory_name = 'JTEST';

DIRECTORY_PATH
--------------------------------------------------------------------------------
c:\data\jtest

SQL> !cat ~/.gvfs/jtest\ on\ 192.168.xxx.xxx/exttable-1.csv
1,a
3,bsdf
4,sdkfj
5,something
129,else

创建外部表:

create table so13t (
id number(4),
data varchar2(20)
)
organization external (
type oracle_loader
default directory jtest /* jtest is an existing directory object */
access parameters (
records delimited by newline
fields terminated by ','
missing field values are null
)
location ('exttable-1.csv') /* the file located in jtest directory */
)
reject limit unlimited;

现在您可以使用SQL 的所有功能来访问数据:

SQL> select * from so13t order by data;

ID DATA
---------- ------------------------------------------------------------
1 a
3 bsdf
129 else
4 sdkfj
5 something

关于sql - 使用 SQL 高效插入大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com