Mysql InnoDB表文件大小
我创建了数据库“test_data_base”,并创建了InnoDB表“test_innou db_table”(MySQL 5.6.6)。转到“var/lib/mysql/test_data_base/”文件夹(在Ubuntu13.04上),看到了一些默认大小的表文件,我有innoDb“ibdata”的默认文件。然后我在这个表中设置了一些数据,并查看了文件大小,但没有任何更改 - 在这里,我们可以看到innodb_file_per_table在默认情况下处于启用状态。但是为什么我的文件大小没有改变呢。例如,当我创建MyIsam表时,它会为此表创建3个文件,当我设置数据时,当然,文件大小也会增加Mysql InnoDB表文件大小,mysql,innodb,myisam,Mysql,Innodb,Myisam,我创建了数据库“test_data_base”,并创建了InnoDB表“test_innou db_table”(MySQL 5.6.6)。转到“var/lib/mysql/test_data_base/”文件夹(在Ubuntu13.04上),看到了一些默认大小的表文件,我有innoDb“ibdata”的默认文件。然后我在这个表中设置了一些数据,并查看了文件大小,但没有任何更改 - 在这里,我们可以看到innodb_file_per_table在默认情况下处于启用状态。但是为什么我的文件大小没有
设置新数据时,为什么文件值不增加?是否确定已启用innodb_file_per_表?检查:
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
在etc/mysql/my.cnf文件中,我设置了:innodb_file_per_table=1和innodb_file_format=barracuda,但显示变量,如“%per_table%”将我显示为“Off”,我重新启动mysql和apache,我再次使用新表创建新数据库,但什么都没有发生。大约1000个不同的dataThank。伟大的现在一切都好了。文件大小已更改。但我的数据是在哪个文件中设置的呢???@sergio我不确定,但是,如果启用了自动提交,在内存中?