如何加快数据导入MySQL InnoDB并终止慢查询?

Linda Hamilton
发布: 2024-11-08 11:15:02
原创
586 人浏览过

How to Speed Up Data Import into MySQL InnoDB and Terminate Slow Queries?

使用 MySQL 进行闪电般快速的数据导入优化

查询:

导入大量数据时使用“加载数据”将数据(大约 360 万行)导入 MySQL InnoDB 表infile”,如何加速该过程?另外,如何在不中断 MySQL 服务的情况下终止缓慢的查询?

解决方案:

数据导入加速:

在利用的同时优化数据导入流程Innodb:

  • 对输入文件进行排序:根据目标表的主键升序排列CSV文件。 Innodb 的聚集主键结构显着提高了数据排序时的加载速度。
  • 优化加载脚本:采用以下脚本实现最佳数据导入:
truncate <table>;

set autocommit = 0;

load data infile <path> into table <table>...

commit;
登录后复制
  • 表优化:通过调整这些表进一步缩短加载时间设置:
set unique_checks = 0;
set foreign_key_checks = 0;
set sql_log_bin=0;
登录后复制
  • 数据分割:将 CSV 文件分成更小的块以提高导入速度。

慢查询终止:

终止慢查询无需重新启动 MySQL:

  • 使用以下命令识别查询的线程 ID:
SHOW PROCESSLIST;
登录后复制
  • 使用以下命令终止查询:
KILL <thread_ID>;
登录后复制

性能统计数据:

基于观察到的批量加载性能:

  • 导入速率:每分钟 3.5 - 650 万行
  • 每小时导入量:210 - 400万行

以上是如何加快数据导入MySQL InnoDB并终止慢查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板