假设我有两个表tbl1
和bak_tbl1
这些表在结构中几乎相同。
我过去常常使用INSERT...SELECT
方法将tbl1
到bak_tbl1
的数据批量插入:
INSERT INTO tbl_customer_sales (id,card_number,customer_name,customer_phone)
SELECT id,card_number,customer_name,customer_mobile FROM tbl_master_sales WHERE NOT EXISTS
(SELECT 1 FROM tbl_customer_sales WHERE id=tbl_master_sales.id);
它适用于较小批量的数据,但它会产生数百万条记录的巨大性能问题。
所以我想知道最简单的方法,如INSERT ... SELECT,如果可能,但将行逐个插入另一个备份表tbl1
,并且不会一次性插入,因此系统不会当程序逐行推送到tbl1
时,我可以解决数据库问题。