Kardinalitet i mysql er et estimat , og mysql baserer sit estimat på tabelbrugsstatistikker:
Du kan læse mere om den indsamlede statistik for myisam og innodb tabelmotorer i mysql's og innodbs dokumentation, og hvordan du konfigurerer disse:
- InnoDB og MyISAM Index Statistics Collection
- Kontrollerende optimeringsværktøj Statistisk estimering
Al statistik er gemt i STATISTIK-tabellen i informationsskema.
Indekserne, de estimerede kardinalitet er tættere på deres nøjagtige kardinalitet (antal forskellige værdier inden for feltet) blev oprettet for længere tid siden, derfor indsamlede mysql flere statistikker for dem, og dets skøn er mere nøjagtigt. Hvis du kører analyse table
på denne særlige tabel vil kardinaliteterne af de duplikerede indekser sandsynligvis være meget tættere på hinanden end nu.
Det store spørgsmål er, hvorfor har du overhovedet duplikerede indekser?