Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como descobrir o tamanho dos índices no mysql (incluindo chaves primárias)


Sua chave primária é sua tabela. Em um InnoDB, a chave primária contém os dados reais, portanto, se a chave primária contém os dados, ela é a tabela.

Pense nisso por um momento. Você obtém dois tipos diferentes de índices em uma tabela InnoDB clusterizada e índices secundários. A diferença é que um índice clusterizado contém os dados e um índice secundário contém as colunas indexadas e um ponteiro para os dados. Assim, um índice secundário não contém os dados, mas sim a localização de onde os dados estão localizados no índice CLUSTERED.

Normalmente, uma chave primária é um índice clusterizado. Seria altamente ineficiente armazenar tanto a tabela com todos os seus valores quanto um índice clusterizado com todos os seus valores. Isso efetivamente duplicaria o tamanho da tabela.

Então, quando você tem uma chave primária que está em um InnoDB, o tamanho da tabela é o tamanho da chave primária. Em alguns sistemas de banco de dados você pode ter um índice secundário como chave primária e um índice separado como chave clusterizada, porém o InnoDB não permite isso.

Vá ler os seguintes links para mais detalhes:

http://dev.mysql.com /doc/refman/5.0/en/innodb-table-and-index.html

http://dev.mysql.com/doc /refman/5.0/en/innodb-index-types.html

Nestes links eles explicam tudo o que eu disse acima com mais detalhes. Simplificando, você já tem o tamanho do índice da chave primária, pois é o tamanho da sua tabela.

Espero que ajude.