我对使用InnoDB非常困惑。 我有一个存储空间有限的服务器,我读过InnoDB表创建了10MB自动扩展的默认大小表。
我不明白“autoextend”功能。如果一个表超过10MB,MySQL会自动增加内存(10Mb + 10MB)?
那么,我可以更改任何表的默认限制吗?
例如:
有可能吗?
答案 0 :(得分:3)
除非您启用innodb_file_per_table
,否则实例中所有数据库的所有InnoDB
数据都将存储在一组文件中(在配置文件中定义)。
当文件集没有剩余可用空间时,集合中最后一个文件的大小会增加autoextend
参数指定的块,默认为8MB
。
InnoDB
只会增加集合中的最后一个文件。
如果您使用innodb_file_per_table
,则每个表都使用自己的表空间。它始终存储在一个文件中(驻留在db目录中),并且该文件以4M
的块为单位增长。这不能改变。