несоответствие количества элементов в индексах

Kirill

Новичок
несоответствие количества элементов в индексах

у таблицы есть 3 индекса:
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| mir_announcement_price | 0 | PRIMARY | 1 | id | A | 77 | NULL | NULL | | BTREE | |
| mir_announcement_price | 1 | name_2 | 1 | name | A | 15 | NULL | NULL | | BTREE | |
| mir_announcement_price | 1 | name_2 | 2 | visible | A | 15 | NULL | NULL | | BTREE | |
| mir_announcement_price | 1 | name | 1 | name | NULL | 15 | NULL | NULL | | FULLTEXT | |
+------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+

почему у primary количетво элементов 77, а у остальных по 15? Одно время на локалке (ос suse linux) было такое же не соответсвие у этой таблицы, затем таблица схерилась - что-то типа cannot open какой-то файл. Восстановил из бэкапа, заново создал индексы, очистил все данный и записал их снова - количество элементов было 77 у всех индексов. Сейчас на удаленном сервере несоответестие, как лечить и почему оно возникает?
 

vovik

Новичок
А как насчет прочитать в документации что какой столбец означает ? :)

Cardinality

The number of unique values in the index. This is updated by running ANALYZE TABLE or myisamchk -a. Cardinality is counted based on statistics stored as integers, so it's not necessarily accurate for small tables. The higher the cardinality, the greater the chance that MySQL uses the index when doing joins.
 
Сверху