происходит схлопывания записей с одинаковым ключом и разными sign после вызова просто OPTIMIZE TABLE mytable (не важно, сколько раз вызвать и сколько времени ждать после).
Если же вызвать с параметром FINAL, то дубли схлопываются.
Есть ли какое-то объяснение такому поведению? Пока записей менее 10 млн и final укладывается в 40 секунд, но, как я понимаю, скорость будет падать с ростом бд.
Если логика подразумевает дублирование данных в известных партициях, то можно OPTIMIZE TABLE table PARTITION xxxxxx FINAL
Дубликаты могут быть в одном парте, вставленные одним инсертом? Если идет запись в таблицу то optimize будет мержить свежие мелкие парты. Т.е. надо либо вызывать в цикле optimize пока не останется один парт, либо optimize final. ну и в доке написано как делать селекты чтобы работало без optimize.
Обсуждают сегодня