Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Не редко наблюдаю картину, когда в многостолбцовом индексе после добавления новых строк, количество уникальных значений обновляется только у последнего поля, а предыдущие остаются прежними.
Например, при наличии KEY (`field1`, `field2`, `field3`) в пустой таблице и занесении данных, получем цифры 0, 0, ХХ соответственно. Естественно, OPTIMIZE TABLE решает вопрос, но не оптимизоровать же таблицу после каждой вставки.
Почему так происходит? Можно ли побороть?
Неактивен
Если честно, не понял, что Вы делаете, и что Вас смущает. Если Вы вставляете
строки с одинаковыми field1 и field2 (почти) всегда, имеет смысл field3 поставить
в начало для лучшей селективности.
Неактивен
Порядок следования полей зависит от выборок, менять его не есть хорошо, первые 2 поля используются на много чаще, чем последнее
Вообще речь идёт о Cardinality полей составного индекса, пардон за незнание терминов)) Как-то оно не стабильно изменяется... От чего это зависит?
Я так понимаю, Cardinality влияет на работу селектов в первую очередь, потому и задался вопросом.
Неактивен
Cardinality влияет на то, какой индекс будет выбран при SELECT или будет использован full table scan. Если таблица мало наполненная, то это все равно. Если много записей, то скорее всего оценка будет нормальной. Используйте USE INDEX и FORCE INDEX если судя по EXPLAIN выбирается не тот индекс, который нужен. На алгоритмы построения дерева и подсчета статистики вряд ли удастся повлиять.
Неактивен
Повлиять на алгоритмы, допустим, не удастся, но какая их закономерность? Я конечно не следил как часто не изменяется Cardinality, но при заливе данных в пустую таблицу много где Cardinality осаётся нулевым. Изменятся ли эти нули когда-нибудь вообще? Вот по этому поводу есть какая-то информация? Или всё же целесообразно периодически делать оптимизацию таких таблиц?
Неактивен
Какая закономерность можно узнать, посмотрев в исходники MySQL. Если при заливке данных cardinality остается нулевой, то это можно классифицировать как багу и запостить на bugs.mysql.com
Неактивен
Во блин, значит не всё так просто, как хотелось бы))
Неактивен
Страниц: 1