您的位置:宽带测速网 > mysql教程 > 怎么理解MySQL中innodb_file_per_table参数

怎么理解MySQL中innodb_file_per_table参数

2025-06-22 17:06来源:互联网 [ ]

在MySQL中创建表时,如果innodb_file_per_table为ON,则会生成两个文件tablename.frm和tablename.ibd。
如果innodb_file_per_table为OFF时,则只会生成一个文件tablename.frm,此表的数据将存放在ibdata*这个文件中。

mysql> show variables like '%per_table%';
+---------------------------+-------+
| Variable_name | Value|
+---------------------------+-------+
| innodb_file_per_table | ON|
+---------------------------+-------+
mysql>use vast
mysql>create table testtbs(a int,b int);
mysql>insert into testtbs select 1,2;
mysql>insert into testtbs select 3,4;
[root@vast vast]# pwd
/data/mydb/vast
[root@vast vast]# ls *testtbs*
testtbs.frm testtbs.ibd


mysql> show variables like '%per_table%';
+---------------------------+-------+
| Variable_name | Value|
+---------------------------+-------+
| innodb_file_per_table | OFF |
+---------------------------+-------+
mysql>create table testtbs1(a int,b int);
mysql>insert into testtbs1 select 1,2;
mysql>insert into testtbs1 select 3,4;
[root@vast vast]# pwd
/data/mydb/vast
[root@vast vast]# ls *testtbs1*
testtbs1.frm