Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql InnoDB表文件大小_Mysql_Innodb_Myisam - Fatal编程技术网

Mysql InnoDB表文件大小

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在默认情况下处于启用状态。但是为什么我的文件大小没有

我创建了数据库“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个文件,当我设置数据时,当然,文件大小也会增加


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

是否确定已启用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我不确定,但是,如果启用了自动提交,在内存中?