我正在用Java、Spring和PostgreSQL开发一个应用程序。我使用Spring作为数据库层。
在我的Java应用程序中,大约有10.000行需要插入到临时表中。进口它们的最快方法是什么?
我已经试过了
create temporary table my_table on commit drop;
with data as (values (...), (...), ...) -- all 10.000 rows enumerated
insert into my_table select * from data;
但是这失败了,因为查询变得太大,无法解析。
我应该简单地发送更小的批
所以我有一个巨大的更新,我必须将大约40 an的数据插入到innodb表中。这需要相当长的时间,所以我想知道哪种方法会是最快的(更重要的是为什么,因为我可以只做一个分裂测试)。
方法1)
a)插入所有行b) create ALTER TABLE su_tmp_matches添加主键( id )
方法2)
a) ALTER TABLE su_tmp_matches ADD PRIMARY KEY ( id ) b)插入所有行
目前我们使用的是方法1,但是步骤b)似乎花费了大量的时间。所以我想知道这里的大小是否有任何含义(40 if 500万行)。
-所以我决定也测试一下-非常快的全新mysql服
在我的Firebird数据库中,我有一个Table_Product,它存储许多单独编号的表,例如:
TBID PRODUCT PRICE
1 A 10
1 B 20
1 C 70
...
我需要做一个SQL插入来包含一个新的:
TBNID PRODUCT PRICE
2 D 80
2 F 40
2 G 30
我的新表数据在Excel文件中。
如何才能成为SQL语句
在插入新的数据集之前,我试图清除/空/截断MySQL中的表。我认为这只能用扳机来完成。
我创建了以下触发器:
create trigger top_destinations_truncate BEFORE INSERT
on top_destinations FOR EACH ROW
delete from top_destinations
但是,当我试图在查询中添加几百条记录时,我会得到以下错误:
HY000Can不能更新存储函数/触发器中的表'top_destinations‘,因为它已经被调用此存储函数/触发器的语句所使用。
如果触发器不存在,insert into ta
我正在处理一个应用程序,该应用程序从两个不同的数据库(即Database1.Table1和Database2.Table2)获取数据,然后比较这两个表(仅使用主键i.e进行比较),并在Database2.Table 2中插入从Database1.Table1到Database2.Table2的行。
问题是,有大量的数据(两个表中大约有80万),比较需要很长时间。有什么办法快速做到这一点吗?
注意:我正在使用C#中的数据表来比较表,代码在下面给出
DataTable Database1_Table1;// = method to get all data from Database1.Tabl