Inno DB表文件大小



我创建了数据库"test_data_base",并创建了Inno db表"test_Inno_db_table"(MySQL 5.6.6)。转到"var/lib/MySQL/test_data_base/"文件夹(在Ubuntu 13.04上),看到了我的表文件,它有一些默认大小,我有innoDb"ibdata"的默认文件。然后我在这个表中设置了一些数据,并查看了文件大小,但什么都没有改变。

http://dev.mysql.com/doc/refman/5.6/en/innodb-multiple-tablespaces.html-在这里,我们可以看到innodb_file_per_table在默认情况下是打开的。但是为什么我的文件大小没有改变。例如,当我创建MyIsam表时,它会为该表创建3个文件,当然,当我设置数据时,文件大小也会增加。

为什么在设置新数据时文件值不增加?

您确定您的innodb_file_per_table已启用吗?检查:

mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+

我认为这个值是"OFF",所以使用全局表空间ib_data1。然后,预先分配了大量的磁盘空间。你可以找到这样的初始大小:

mysql> show variables like '%innodb%data%';
+--------------------------+------------------------+
| Variable_name            | Value                  |
+--------------------------+------------------------+
| innodb_data_file_path    | ibdata1:10M:autoextend |

更新

这是我试过的。我一直在观察文件大小的变化。它一下子长了32kb。我也使用梭鱼格式。我建议插入更多的记录。

mysql> create table db_size_test( a int, b int, c int);
Query OK, 0 rows affected (0.01 sec)

[XXXX]$ ls -lh db_size_test.ibd
-rw-rw---- 1 xxxx xxxx  96K 11월 21 21:26 db_size_test.ibd
mysql> select count(*) from db_size_test;
+----------+
| count(*) |
+----------+
|     1001 |
+----------+
1 row in set (0.00 sec)
[XXX]$ ls -lh db_size_test.ibd
-rw-rw---- 1 xxxx xxxxx 128K 11월 21 21:28 db_size_test.ibd

最新更新