gpt4 book ai didi

MySQL 导入 - [大文件 ~ 350 GB] - 两周且仍在运行

转载 作者:行者123 更新时间:2023-11-29 18:14:47 26 4
gpt4 key购买 nike

我正在将 SQL 文件导入 MySQL 数据库。文件比较大。超过 350 GB。已经快两周了,仍在运行。我在 64GB 和 Ubuntu 操作系统的服务器上运行它。我已经做了一些故障排除,如下所示:

SELECT table_schema "DB Name", Round(Sum(data_length + index_length) / 
1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables
GROUP BY table_schema;
+--------------------+---------------+
| DB Name | DB Size in MB |
+--------------------+---------------+
| dbx | 222757.0 |
| information_schema | 0.2 |
| mysql | 2.4 |
| performance_schema | 0.0 |
| sys | 0.0 |
+--------------------+---------------+

我可以看到 dbx 大小不断变化,这意味着导入过程正在进行中。另外,我还使用

监控了插入过程
> mysql> show processlist;
+----+-------+-----------+-----------+---------+------+----------+-------
-------------------------------------------------------------------------
| Id | User | Host | db | Command | Time | State | Info

| 13 | admin | localhost | dbx | Query | 0 | update | INSERT INTO
`books` VALUES (132304376,4212389,'C Trn,R TYG,Boots','LS, Aziz R. Haya |

并且它在时间内不断变化,但是很慢。

我已经验证了为数据库导入过程分配的内存,看起来它使用了 2 GB,如下所示:

 RSS    SZ    VSZ
350520 525497 2101988

我的问题:

  1. SZ(SQL 导入过程使用的物理内存)约为 0.5 GB,而我的服务器为 64 GB。为什么会出现这种情况?有没有办法增加导入过程分配的物理内存?

  2. 导入64GB内存服务器的数据库需要这么长的时间正常吗?

  3. 鉴于我已按照许多讨论类似问题的 stackoveflow 线程中的步骤进行操作,您是否建议采取任何进一步的步骤来调查此问题。

感谢您在这方面的任何帮助。

最佳答案

导入如此缓慢的可能原因是 MySQL 在插入每条记录时更新索引,并且索引更新时间随着表的增长而增加。您可以在导入之前尝试禁用索引。

重新调整内存使用情况 - 这取决于您的服务器设置: key 缓存大小等。

您也可以看看这个:https://dev.mysql.com/doc/refman/5.6/en/optimizing-innodb-diskio.html

关于MySQL 导入 - [大文件 ~ 350 GB] - 两周且仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com