我目前正在使用Apache作为我的应用程序的临时本地数据库,我想要一些关于如何优化插入性能的技巧。
当应用程序启动时,它从CSV文件中读取记录--这可能是数百万,但更有可能是几十万。一旦处理完这些信息,最后的SELECT查询就会总结这些信息。
目前插入6000条记录大约需要1分钟。有3个表,其中2个存储唯一的数据,其中一个表是两个表之间的查找表,如下所示:
CREATE TABLE table1
(id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
field1 VARCHAR(40))
CREATE TABLE table2
(id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
field1 VARCHAR(100),
field2 INT,
field3 VARCHAR(40))
CREATE TABLE table1table2lookup
(id INT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
field1 INT NOT NULL,
field2 INT NOT NULL)目前,我使用参数化PreparedStatements和批处理来提高速度。
我还关闭了自动提交模式,以便只在批量插入时提交。
https://stackoverflow.com/questions/36720662
复制相似问题