PHPスクリプトを介してMySqlデータベースにデータを保存しています。データベースはディスクに格納されていませんが、クエリはメモリ内のデータベースに格納されています。mysqldumpを実行すると、ファイルサイズは約130Mですが、「/var/lib/mysql/db_name」にあるファイルサイズを確認すると、約80Kです。私が使用しているエンジンは InnoDB です。
質問する
120 次
2 に答える
0
ディスクに保存されていないことをどうやって知ることができますか?
これらのサイズに基づいて評価を行っている場合、同じものを比較していない可能性があります。
db自体は単なる純粋なデータです。
mysqldumpには、はるかに長くなる可能性のある、長く曲がりくねった実際のcreateステートメントがすべて含まれています。
例えば
Data: 1,5000,23,300 4 bytes.
Create statements from backup:
insert into summary_categories(category_sum_product) values (1);
insert into summary_categories(category_sum_product) values (5000);
insert into summary_categories(category_sum_product) values (12);
insert into summary_categories(category_sum_product) values (300);
= 262 characters/bytes
于 2012-10-11T00:29:48.980 に答える
0
ディスクまたはメモリに保存されているかどうかを確認する方法が 1 つあります。マシンを再起動し、データがまだそこにある場合は、ディスクに保存されます (これは事実です)。
さらにテストするには、次のクエリを使用して、データが保存されている場所を確認します。
SHOW VARIABLES WHERE variable_name LIKE '%datadir%'
次に、そのディレクトリ内に、おそらくデータベース名のフォルダーがあります。そのフォルダー内で、テーブル名のファイルを確認します。定義用 (table.frm) があります。これはおそらく 80K の可能性があるもので、データを保持する別のもの (tablename.ibd) があります。
于 2012-10-11T15:41:25.377 に答える