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

A cardinalidade pode ser diferente para índices duplicados no mysql?


Cardinalidade no mysql é uma estimativa , e o mysql baseia sua estimativa nas estatísticas de uso da tabela:

Você pode ler mais sobre as estatísticas coletadas para os mecanismos de tabela myisam e innodb na documentação do mysql e innodb e como configurá-los:

Todas as estatísticas são armazenadas na tabela STATISTICS dentro de information_schema.

Os índices, cuja cardinalidade estimada está mais próxima de sua cardinalidade exata (número de valores distintos dentro do campo) foram criados há mais tempo, portanto o mysql coletou mais estatísticas para eles e sua estimativa é mais precisa. Se você executar analyse table nesta tabela em particular, provavelmente as cardinalidades dos índices duplicados estarão muito mais próximas umas das outras, do que agora.

A grande questão é:por que você tem índices duplicados?