gpt4 book ai didi

mysql - Innodb表文件大小

转载 作者:行者123 更新时间:2023-11-29 13:26:05 28 4
gpt4 key购买 nike

我创建了数据库“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

关于mysql - Innodb表文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20120475/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com