mysql快速匯入資料方式

2021-10-10 15:56:05 字數 1139 閱讀 1453

2.具體操作步驟

innodb_flush_log_at_trx_commit 設定為 0,log buffer將每秒一次地寫入log file中,並且log file的flush(刷到磁碟)操作同時進行.該模式下,在事務提交的時候,不會主動觸發寫入磁碟的操作。

innodb_flush_log_at_trx_commit設定為 1,每次事務提交時mysql都會把log buffer的資料寫入log file,並且flush(刷到磁碟)中去。

innodb_flush_log_at_trx_commit設定為 2,每次事務提交時mysql都會把log buffer的資料寫入log file.但是flush(刷到磁碟)操作並不會同時進行。該模式下,mysql會每秒執行一次 flush(刷到磁碟)操作。

當 sync_binlog =0,像作業系統刷其他檔案的機制一樣,mysql不會同步到磁碟中去而是依賴作業系統來重新整理binary log。

當 sync_binlog =n (n>0) ,mysql 在每寫 n次 二進位制日誌binary log時,會使用fdatasync()函式將它的寫二進位制日誌binary log同步到磁碟中去。

show global variables where variable_name = 『innodb_flush_log_at_trx_commit』;

show global variables where variable_name = 『sync_binlog』;

set global innodb_flush_log_at_trx_commit = 2;

set global sync_binlog = 2000;

mysql -uroot -p****** testdb < testdb.sql

set global innodb_flush_log_at_trx_commit = 1;

set global sync_binlog = 1;

下面命令可直接顯示進度條;

pv -t -p databases_20200903.sql | mysql -uroot -p

計算每秒 各種操作的次數

每秒查詢: (x1-x2)/60

每秒插入: (y1-y2)/60

每秒刪除: (z1-z2)/60

每秒更新: (w1-w2)/60

MySQL資料快速匯入Redis

在之前我們講過mysql批量匯入兩百萬資料,那麼在匯入mysql之後,怎麼能將其快速匯入redis中呢?其實實際操作是比較簡單的,這裡主要分如下幾步 首先我們需要登入mysql,找到目標資料 然後我們需要執行相關的sql語句,查詢出想要的結果集 登入連線redis服務 把mysql查詢出的結果集使用...

Mysql 千萬資料快速匯入

最近碰到個專案,需要 千萬條資料入庫的問題,有原本的 類 csv 檔案匯入,統計了下 資料行大概有 1400w 行之多 二話不說,建表,直接 load load data local infile data data.csv into table pk book price character se...

mysql資料向Redis快速匯入

redis協議 引數個數 第乙個引數長度 第乙個引數 第乙個引數長度 第二個引數 編寫sql語句,把mysql資料組合成redis協議資料流 select concat 16 r n length redis cmd r n redis cmd,r n length redis key r n re...