Kardinalitas di mysql adalah perkiraan , dan mysql mendasarkan perkiraannya pada statistik penggunaan tabel:
Anda dapat membaca lebih lanjut tentang statistik yang dikumpulkan untuk mesin tabel myisam dan innodb di dokumentasi mysql dan innodb dan cara mengonfigurasinya:
Semua statistik disimpan di tabel STATISTIK dalam information_schema.
Indeks, kardinalitas yang diperkirakan lebih dekat dengan kardinalitas yang tepat (jumlah nilai yang berbeda dalam bidang) dibuat lebih lama, oleh karena itu mysql mengumpulkan lebih banyak statistik untuk mereka dan perkiraannya lebih akurat. Jika Anda menjalankan analyse table
pada tabel khusus ini, mungkin kardinalitas indeks duplikat akan jauh lebih dekat satu sama lain, daripada sekarang.
Pertanyaan besarnya adalah, mengapa Anda memiliki indeks duplikat sama sekali?