我正在尝试找到一种将大量数据快速加载到数据库中的方法,并建议使用Firebird外部表,我想对此方法有更多的了解,我尝试过在线搜索,但没有获得有关该方法的有用信息。这个,我想知道他们是如何工作的?表格必须完全相同吗?如果要从多个数据库中加载数据怎么办?

最佳答案

像这样使用外部表:

CREATE TABLE ext1 EXTERNAL 'c:\myfile.txt'
(
field1 char(20),
field2 smallint
);

要快速导入到常规表中,请执行以下操作:
INSERT INTO realtable1 (field1, field2)
SELECT field1, field2 FROM ext1;

请记住,在加载之前禁用触发器和索引(如果可能),然后在加载后重新激活它们。

此信息来自Firebird常见问题解答:http://www.firebirdfaq.org/faq209/

以下是有关使用外部表的更多信息,包括有关文件格式的信息:http://www.delphiman.de/Bin/UsingExternalFilesAsTables.pdf

10-05 22:41