<enabled_partitions>
<partition>('2022-09-05',200)</partition>
</enabled_partitions>
При запуске задачки, copier начинает прогонять запрос и он висит очень долго, из-за того что не используются индексы
SELECT 1 FROM rtb.table_name WHERE (toMonday(event_date), st) = (('2022-09-05', 200) AS partition_key) LIMIT 1
Как правильно скопировать партицию или объяснить copier чтобы использовал индексы?
партиции можно атачить (копировать) в другие таблицы и это бесплатная операция (не используется диск, не используется процессор) т.е. создаете новую таблицу, alter table ... attach partition from далее копиром копируете новую таблицу
Интересно. Но у меня шардированная таблица с репликацией, получается на каждом шарде нужно будет создать по таблице, чтобы это сработало?
Да, все получилось благодарю. Еще интересный эффект заметил, у меня в шардированной таблице есть TTL на колонку и из-за этого copier не позволяет сделать перенос (он внутри видимо distributed создает, а они с TTL не возможны), приходится указывать disributed таблицы, чтобы он от туда переносил. Это можно как-то обойти или так и задумано все?
не знаю, похоже на баг. Я бы завел issue
Обсуждают сегодня