mysql 快速導入大SQL文件

最近做項目遇到了一種情況,由於服務器所在網不能夠通過任何的外部數據庫連接工具連接,所以只能在服務器上使用命令去創建數據庫,使用source 命令去導入數據執行腳本,由於導出的數據沒有經過批處理,所以文件內部都是insert語句;

但在具體運行的時候,導入的速度非常慢,顧而找到了如下的這種方法:

原來在默認情況下,當你去執行某個.sql文件的時候事物是自動提交的,也就是說insert一次提交一次,這樣大大拖延了導入的速度;

在使用一下這種方式之後46萬多的數據,比起自動提交的導入來說快了不少,以前需要幾個小時才能導入的數據,一輛分鐘就導入完了,一下是具體的使用方法:


1、進入mysql
mysql -u root -p
 
2、輸入數據庫密碼
 
3、創建數據庫(如果已經有數據庫忽略此步驟)
CREATE DATABASE 數據庫名;
 
4、設置參數
set sql_log_bin=OFF;//關閉日誌
set autocommit=0;//關閉autocommit自動提交模式 0是關閉  1 是開啓(默認)
 
5、使用數據庫
 
use 數據庫名;
 
6、開啓事務
START TRANSACTION;
 
7、引入SQL文件
source 文件的路徑;
在此處會引入sql文件,也就是你的insert;
8、成功後事務提交 

提交後,可以把日誌和自動提交set回去。

轉自:https://blog.csdn.net/qq_42112846/article/details/101161701

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章