我正在做一个相当大的查询,它会遇到 MySQL 连接超时。我知道如何更改超时参数,但我也从一台不能长时间运行的笔记本电脑上查询。
数据库管理员告诉我,我可以将结果发送到表中。经过四处搜索,似乎INSERT INTO dst_tbl SELECT * FROM src_tbl;
基本上就是这个想法(源文章)。
但是即使我的结果被保存了,当我重新连接时,查询会从它停止的地方开始吗?有没有办法检查我没有丢失/重复记录?
更一般地说,如果有任何关于如何在超时约束下进行大型查询的建议,我将不胜感激。
MySQL 是一个ACID数据库。这个术语中的 A 代表Atomicity。这基本上意味着:
所以,你根本不用担心。如果您的事务超时,则不会向数据库写入任何内容。重新运行您的交易