MySQL中对多个表的高效插入查询

MySQL中对多个表的高效插入查询,sql,mysql,Sql,Mysql,我想知道在MySQL中对多个表执行insert是否比对每个表中的每条记录执行单独的insert查询更有效。我想做这样的事情: INSERT INTO table1 (t1c1, t1c2, t1c3), table2 (t2c1, t2c2, t2c3) VALUES ('t1c1', 't1c2', 't1c3', 't2c1', 't2c2', 't2c3'); 原因是数据在远程计算机上进行整理,并将通过网络进行插入。您可以先插入一个表,然后从第一个表插入第二个表: INSER

我想知道在MySQL中对多个表执行insert是否比对每个表中的每条记录执行单独的insert查询更有效。我想做这样的事情:

INSERT INTO table1 
  (t1c1, t1c2, t1c3), table2 (t2c1, t2c2, t2c3) 
VALUES
  ('t1c1', 't1c2', 't1c3', 't2c1', 't2c2', 't2c3');

原因是数据在远程计算机上进行整理,并将通过网络进行插入。

您可以先插入一个表,然后从第一个表插入第二个表:

INSERT INTO table1 ....
VALUES(....

INSERT INTO table2(....
SELECT ...
FROM table1 
WHERE ....

不,不可能一步到位。您将需要执行多个查询。

我看不出原因,MySQL仍然需要为该操作创建两个不同的表。如果要插入大量数据,最好的方法是将压缩的CSV文件发送到服务器,然后使用
加载数据
以极快的速度将其插入到表中。好的,我明白你的意思,但你仍然存在通过网络传输文件,然后加载数据的问题。只进行插入查询不是更有效吗?该查询无论如何都会传输数据,因此文件的内容在任何情况下都会通过网络传输。我理解这一点,但哪个文件传输或插入查询更密集?我认为更便宜的选择是查询,而不是文件。传输2MB文件与发送2MB查询是一样的,为什么其中一个查询更“密集”?如果在发送之前压缩文件,这将是有利于文件传输的实际收益。这是否意味着表之间的数据重复?远程计算机上的程序不是数据库,两个表都在远程数据库服务器上。我不能使用视图链接表,然后插入到视图中吗?不幸的是,这甚至不可能。我自己搜索此功能已经很长时间了:/