0

ローカルの mysql 5.5 サーバーの英語の wiki ダンプから、categorylinks sql ファイル (サイズは約 8 GB) をインポートしようとしています。コマンドラインから実行しました。インポート プロセスは先週から行われており、max(cl_from) をチェックするか、現在の挿入クエリを表示する「show processlist」を使用して、データが categorylinks テーブルに挿入されていることを確実に確認できます。

私が持っている唯一の混乱は、mysqlserver\data フォルダーの ibdata1 ファイル サイズがまったく増加しないことです。ibdata1 が innodb の実際のデータを含むファイルであることをどこかで読みました。では、挿入クエリを実行してデータを categorylinks テーブルに挿入している間、ibdata1 ファイルのサイズが大きくなるのではないでしょうか?

4

1 に答える 1

0

my.cnf でinnodb_file_per_tableが有効になっている可能性が最も高いです。

innodb_file_per_table を無効にした場合、ibdata1 には次のように入力されます。

  • 表データ
  • テーブル インデックス
  • MVCC (Multiversioning Concurrency Control) データ
    • ロールバック セグメント
    • スペースを元に戻す
  • テーブル メタデータ (データ ディクショナリ)
  • Double Write Buffer (OS キャッシュへの依存を防ぐためのバックグラウンド書き込み)
  • バッファーの挿入 (一意でないセカンダリ インデックスへの変更の管理)
  • 絵画表現

innodb_file_per_table を有効にすると、各 InnoDB テーブルとそのインデックスは.ibd、それぞれの DB フォルダーの下のファイルに格納されます。たとえば、 datadir /var/lib/mysqlの場合、 mydb.mytableは次のように格納されます。

  • /var/lib/mysql/mydb/mytable.frm
  • /var/lib/mysql/mydb/mytable.ibd
于 2012-10-19T21:57:31.717 に答える