mysql 快速匯出 Mysql 大量資料快速匯出

2021-10-17 15:24:46 字數 944 閱讀 4028

mysqldump -u root -p -q -e -t  webgps4 dn_location2 > dn_location2.sql

mysqldump -u root -p -q -e -t --single-transaction  webgps4 dn_location2 > dn_location2.sql

source dn_location2.sql

以上是匯入匯出資料的語句,該方法15分鐘匯出1.6億條記錄,匯出的檔案中平均7070條記錄拼成乙個insert語句,通過source進行批量插入,匯入1.6億條資料耗時將近5小時。平均速度:3200w條/h。後來嘗試加上--single-transaction引數,結果影響不大。另外,若在匯出時增加-w引數,表示對匯出資料進行篩選,那麼匯入匯出的速度基本不變,篩選出的資料量越大,時間越慢而已。對於其中的引數這裡進行說明:

–quick,-q

該選項在匯出大表時很有用,它強制 mysqldump 從伺服器查詢取得記錄直接輸出而不是取得所有記錄後將它們快取到記憶體中。

--extended-insert, -e

使用具有多個values列的insert語法。這樣使匯出檔案更小,並加速匯入時的速度。預設為開啟狀態,使用--skip-extended-insert取消選項。

--single-transaction

該選項在匯出資料之前提交乙個begin sql語句,begin 不會阻塞任何應用程式且能保證匯出時資料庫的一致性狀態。它只適用於多版本儲存引擎,僅innodb。本選項和--lock-tables 選項是互斥的,因為lock tables 會使任何掛起的事務隱含提交。要想匯出大表的話,應結合使用--quick 選項。在本例子中沒有起到加快速度的作用

mysqldump -uroot -p --host=localhost --all-databases --single-transaction

-t僅匯出表資料,不匯出表結構

mysql的快速 匯出匯入

方案一 將c program files mysql mysql server 5.0 data 資料名 目錄複製到另外一台機器c program files mysql mysql server 5.0 data 方案二 1 先導出 命令列 進入 c program files mysql mys...

Mysql大量資料快速匯入匯出

一般的資料備份用 mysql路徑 bin mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 資料還原是 到mysql命令列下面,用 source 檔名 的方法。但是這種方法對大資料量的表進行操作就非常慢。因為他不僅匯出了資料還匯出了表結構。在針對大資料量的表時,我們可以用infile和 ...

mysql快速匯出資料(帶列名)

set table name user sample0528 set schema name douyin set output name concat e douyin mysql output table name,txt set cols null select group concat co...