mysql - INSERT INTO ... SELECT ... 与在 MySQL 中转储/加载文件

标签 mysql database

使用 INSERT INTO foo ... SELECT FROM bar JOIN baz ... 样式插入语句与使用相同的 SELECT 语句将 (bar, baz) 转储到文件有什么含义, 然后通过加载文件插入 foo?

在我的胡闹中,我没有看到很大的不同。我假设前者会使用更多内存,但运行它的机器有 8GB 内存,我什至从未见过它用过一半。

是否有任何我没有看到的巨大(或长期)性能影响?两者的优点/缺点?

编辑:这个加载过程是自己发生的。当时没有别的查询数据库,所以锁定表不是什么大问题,纯粹的速度才是。

最佳答案

转储和加载的一个优点是它不会锁定您正在选择的表。如果选择运行很长时间,这可能非常重要。

关于mysql - INSERT INTO ... SELECT ... 与在 MySQL 中转储/加载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790333/

相关文章:

php - 如何使用mysql存储过程插入表

php - 用户角色以及他们可以看到的内容

xml - 哪些关系数据库可以将 XML 存储为 native 类型?

php - 无法调用类构造函数

php - 从 PHP 和 MySQL 的 3 个随机数据中选择 4 列

sql-server - SQL Server SELECT 语句 - 如何获取所需信息

php - Group By/Having 子句上的 MySQL 多个条件

MySQL:COM_SELECT 以 1000/秒的速度增加,但进程列表几乎为空

mysql - 如何处理关系数据库中的金融交易?

php - 尝试从 MYSQL 获取数据到 XML 时出错