Mysqldump はデータベースより小さいサイズのファイルを生成しました

Mysqldump はデータベースより小さいサイズのファイルを生成しました

私のデータベースは 250 MB で、ダンプ サイズは 82 MB です。最新の MariaDB を使用しています。次のコマンドを実行します。

mysqldump -u user -p database > t.sql

答え1

  • ダンプにはINDEXes以外は含まれませんPRIMARY KEY
  • ダンプにはディスク ファイルの「空き領域」は含まれません。
  • ダンプはバイナリではなくテキストです。たとえば、a はBIGINTファイル内で 8 バイトを占めますが、値が「1」の場合、ダンプ内では 2 バイトを占めます: 「...,1,...」(数字 + カンマ 1 つ)。
  • 一方、数値、文字列、日付などはもっとダンプ内のスペース。
  • CREATE TABLE空のテーブルはディスク上で最低でも 24 KB 程度を占有しますが、ダンプでは数百バイト (主に 用) しか占有しません。
  • ダンプはテキスト ファイルです。その一部 (多かれ少なかれ、またはそれに類するもの) を見てください。

つまり、3:1 の縮小は実現可能です。そして、2:1 の拡大も可能です。

関連情報