La cardinalità in mysql è una stima e mysql basa la sua stima sulle statistiche di utilizzo della tabella:
Puoi leggere di più sulle statistiche raccolte per i motori di tabella myisam e innodb nella documentazione di mysql e innodb e su come configurarle:
Tutte le statistiche sono memorizzate nella tabella STATISTICHE all'interno dello schema_informativo.
Gli indici, quelli che la cardinalità stimata è più vicina alla loro esatta cardinalità (numero di valori distinti all'interno del campo) sono stati creati più tempo fa, quindi mysql ha raccolto più statistiche per loro e la sua stima è più accurata. Se esegui analyse table
su questa particolare tabella, probabilmente le cardinalità degli indici duplicati saranno molto più vicine tra loro, rispetto a adesso.
La grande domanda è:perché hai degli indici duplicati?