Instalei o mariadb 10.2.10 com a innodb_file_per_table
opção habilitada.
Então eu crio a tabela com Innodb
o motor e inseri 1 M de linha.
Agora eu olho e o ..data/mydbname/table_name.ibd
arquivo local ( ) é crescido, mas o ibdata1
arquivo de sistema também cresceu. Por quê? Eu esperava que, por innodb_file_per_table
estar habilitado, apenas o local .ibd
devesse crescer, mas não o ibdata1
.
Por que o tamanho de ibdata1
também cresce? O que eu entendi errado?
Várias operações usam
ibdata1
temporariamente. Os dados reais para a tabela fornecida estarão inteiramente no.ibd
arquivo.É bastante normal que ibdata1 tenha pelo menos dezenas de MB, mesmo com todas as tabelas em seus arquivos .ibd.
Você tem o seguinte caso?
innodb_file_per_table=OFF
table1
-- isso irá paraibdata1
innodb_file_per_table=ON
table2
-- isso irá paratable2.ibd
table1
-- isso ainda entrará emibdata1
A maneira de mover uma tabela existente
ibd
é definir ON e, em seguida, fazerSe isso não explicar sua situação, fique de olho em (1) quais operações estão sendo executadas em qualquer tabela e (2) o tamanho de ibdata1. Se crescer novamente, o (1) pode nos dar mais algumas pistas.
Observe especialmente quaisquer operações envolvendo tabelas grandes.