惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Vercel News
Vercel News
F
Fortinet All Blogs
月光博客
月光博客
G
Google Developers Blog
博客园 - Franky
GbyAI
GbyAI
The Cloudflare Blog
I
InfoQ
雷峰网
雷峰网
WordPress大学
WordPress大学
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
小众软件
小众软件
腾讯CDC
B
Blog
量子位
V
V2EX
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News

博客园 - emanlee

Django3 核心入门知识点 HTML + CSS + JS 入门核心知识点 vs code 使用python,必须安装python解释器 Ubuntu 修改 ulimit‑n(nofile,最大打开文件数) 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 Word里打出“方框中间带勾”的符号 Windows 10/11 安装 MySQL 5.7 步骤(内部使用) Python编程语言的运行速度(CPU时间),与C语言对比 设置MySQL随操作系统Ubuntu启动 2026年秋季,2027年春季,西安理工大学 校历 博文阅读密码验证 - 博客园 Windows 11,用任务栏的搜索框搜索到一个软件,点击无法打开, 是bug 拆分视频的软件工具,Avidemux 开源免费 无法在此设备上加载驱动程序,可行可用 ubuntu 设置北京日期时间 mysql 在新电脑上导入,出现错误:ERROR at line 4019: Unknown command '\''. - emanlee 安装 yarn npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。 - emanlee VS code, 最近打开过哪些项目或文件夹,把这些备份下来,到另外一台电脑上恢复 傲梅分区助手 【好用】 ubuntu 可以使用Windows远程桌面连接吗?【可以】 把xshell的全部连接和密码,从一台Windows 10电脑,迁移到Windows11电脑。 Windows 远程桌面(mstsc)完整迁移方案(含历史连接记录、RDP 配置、保存的账号密码)【可行】 Endnote,如何能完整迁移库和模版 ubuntu 安装 locate
当数据量很大时,执行 mysql> source filename.sql 很慢,...
emanlee · 2026-05-22 · via 博客园 - emanlee

当数据量很大时,执行 mysql> source filename.sql  很慢,有什么办法更快

我给你最简单、最有效、立刻能上手的提速方案,只做最关键的几步,就能让大 SQL 导入快 10~100 倍,不用改复杂配置。

一、最快方案:执行 source 前,先运行这 4 行(必做)

先登录 MySQL,选中数据库,然后复制执行这 4 行:

SET autocommit = 0;
SET unique_checks = 0;
SET foreign_key_checks = 0;
SET SESSION tx_isolation = 'READ-UNCOMMITTED';
COMMIT;
SET autocommit = 1;
SET unique_checks = 1;
SET foreign_key_checks = 1;

二、比 source 更快:用系统命令行导入(推荐)

不要在 mysql> 里面用 source,直接在 CMD / 终端执行:

mysql -u用户名 -p 数据库名 < filename.sql
mysql -uroot -p testdb < guolei.20260521sql.sql

三、再加 2 个参数,速度再翻倍

mysql -u用户名 -p --max_allowed_packet=1G --net_buffer_length=1M 数据库名 < filename.sql

四、如果你只能用 source(必须在 mysql> 里执行)

USE 你的数据库;
SET autocommit=0;
SET unique_checks=0;
SET foreign_key_checks=0;
SET tx_isolation='READ-UNCOMMITTED';

source filename.sql;

COMMIT;
SET autocommit=1;
SET unique_checks=1;
SET foreign_key_checks=1;

五、为什么原来这么慢?

  • 默认每插入一条就提交一次事务(极慢)
  • 默认每条都检查外键、唯一键(极耗资源)
  • source 会打印大量日志

六、最简单总结(照着做就行)

  1. 导入前关闭自动提交、外键检查、唯一检查
  2. 优先用命令行导入,不要用 mysql> source
  3. 加参数 --max_allowed_packet=1G