Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann sich die Kardinalität für doppelte Indizes in MySQL unterscheiden?

Die Kardinalität in mysql ist eine Schätzung , und mysql basiert seine Schätzung auf Tabellennutzungsstatistiken:

Sie können mehr über die Statistiken lesen, die für myisam- und innodb-Tabellen-Engines in der Dokumentation von mysql und innodb gesammelt wurden, und wie Sie diese konfigurieren:

Alle Statistiken werden in der STATISTICS-Tabelle gespeichert innerhalb von information_schema.

Die Indizes, deren geschätzte Kardinalität näher an ihrer genauen Kardinalität liegt (Anzahl unterschiedlicher Werte innerhalb des Felds), wurden vor längerer Zeit erstellt, daher hat mysql mehr Statistiken für sie gesammelt und seine Schätzung ist genauer. Wenn Sie analyse table ausführen In dieser speziellen Tabelle werden die Kardinalitäten der doppelten Indizes wahrscheinlich viel näher beieinander liegen als jetzt.

Die große Frage ist, warum haben Sie überhaupt doppelte Indizes?