阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

提升 MySQL 資料匯入效能的小秘訣在處理大量資料匯入 MySQL 資料庫時,效能可是關鍵!以下是一些簡單又有效的小技巧,讓你的資料匯入速度飛快提升:

1. 暫時關閉二進制日誌(Binary Log)

二進制日誌記錄了所有對資料庫的更改,這對於資料恢復和複製非常重要。但在大量資料匯入期間,這會拖慢速度。所以,我們可以暫時關閉它

start mysqld with --disable-log-bin

2. 關閉 InnoDB Redo Log

Redo Log 用於確保資料的一致性和持久性,但在匯入大量資料時,這也會成為效能瓶頸。可以通過以下命令暫時關閉 Redo Log:

MySQL> ALTER INSTANCE DISABLE INNODB REDO_LOG;

3. 禁用 InnoDB 擴展和初始化(extend and initialize)

這可以避免不必要的初始化操作,進一步提高匯入效益。使用以下命令:

MySQL> SET GLOBAL innodb_extend_and_initialize = OFF;

4. 調整 InnoDB

設置InnoDB 是 MySQL 的主要存儲引擎,通過調整其設置,我們可以進一步提高匯入效能。例如,關閉文件緩存和調整髒頁百分比

MySQL> set global innodb_disable_sort_file_cache=0;
MySQL> set global innodb_max_dirty_pages_pct_lwm=10;

這些設置可以減少磁碟 I/O 操作,從而提高匯入速度。

5. 重啟 MySQL 服務

某些設置的更改需要重啟 MySQL 服務才能生效。因此,在進行這些調整後,務必重啟 MySQL 服務以應用更改。

結論

在 MySQL 資料匯入過程中,通過禁用 binlog 和 redo log 以及調整 InnoDB 設置,可以顯著提高匯入效益。然而,這些方法各有優缺點,需要根據實際需求進行選擇。對於需要高效匯入但不要求高持久性的場景,可以考慮禁用 redo log;而對於需要兼顧效益和持久性的場景,調整 InnoDB 設置是一個不錯的選擇。

按讚的人:

共有 0 則留言


大家好,我是Hank,一名全端工程師(Full Stack Engineer),專注於網路應用程式技術,包括但不限於APP、網站及LINE官方帳號的應用。過去12年都在新創公司擔任技術長與合夥人,目前是一位自由接案者,希望拓展更多可能性。同時我也是一個樂團的鼓手,擅長打爵士鼓,如果有玩音樂的朋友,歡迎互相交流。謝謝大家!

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈