mysql - 从文件导入大数据库 - 当表锁定时检查表大小

标签 mysql

我有一个用 mysqldump 创建的 sql 文件,大约有 30GB,我现在必须将其导入数据库。问题是,在较大的表上,需要花费大量时间(例如 2 小时以上)来插入所有内容,而且除了完整进程列表之外,我无法检查正在发生的情况。

我不能在这样的表上使用 count 或类似的东西,因为整个表被锁定。有没有办法检查插入了多少数据以及还剩下多少数据?

最佳答案

您可以尝试首先加载数据的子集,例如 1000 行,然后测量需要多长时间:

head -n 1001 yourdump.sql > yourdump_first1000.sql

转储文件 yourdump_first1000.sql 应包含前 1000 行。您可以查看加载需要多长时间,并将其与文件的大小进行比较。由此,也许您可​​以推断出 30GB 需要多长时间。

关于mysql - 从文件导入大数据库 - 当表锁定时检查表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092053/

相关文章:

mysql - Spring通过字段 'appUserRepository'表达不满足的依赖关系

mysql - 将node.js与mysql集成需要我自己的服务器?

php - 我需要将 <p> 标记删除到仅包含 URL 的字段

php - 从 MySQL 表并发获取任务

mysql - 从多个表中获取最大的ID并删除重复值

PHP - 从查询结果中获取对象数组

mySQL IF 列包含特定数据,显示该列,否则显示另一列

mysql - 使用 SQL 查询得到一个奇怪的语法错误

mysql - 用空格连接Sql中的两个字符串

php - 逗号分隔字符串的比较和mysql列的更新