mysqldumpの--quickオプション

2019年11月6日水曜日

Linux

t f B! P L
mysqlのデータベースをバックアップする時、mysqldumpコマンドを使います。
--quickオプションを指定するとテーブルを1行ずつダンプするのでメモリ消費量を抑えられるらしいのですが、デフォルトで はどういう動作になるのかわかりませんでした。 
デフォルトの動作は、公式のマニュアルに記載がありました。 --quickオプションは、デフォルトで有効になっているようです。正確には、デフォルトで--optオプションが有効なため、--optオプションに含まれる--quickオプションもデフォルトで有効ということのようです。
Performance and Scalability Considerations
mysqldumpは、テーブルの内容を行ごとに取得してダンプするか、テーブルから内容全体を取得してメモリにバッファリングしてからダンプすることができます。 大きなテーブルをダンプする場合、メモリのバッファリングが問題になる可能性があります。 テーブルを行ごとにダンプするには、-quickオプション(または--quickを有効にする--opt)を使用します。 --optオプションはデフォルトで有効になっているため、メモリバッファリングを有効にするには--skip-quickを使用します。
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
テーブルを1行づつダンプする場合はデフォルトでOK、メモリバッファリングに変更したい場合には--skip-quickが必要ということのようです。
あらためて確認してみると、コマンドラインのヘルプにも"Defaults to on"という記載がありました。
mysqldump --help

このブログを検索

QooQ