такое подозрение что кликхаус вычитывает больше нужного в следствие плохого слияния партов, а именно есть таблица в которой granularity 16384, я делаю запрос строго по первичному ключу, в нем строк меньше чем 16384 (15К). Но при этом читаются два парта и две засечки, я так полагаю кликхаус недомержил парты и пришлось выбирать по одной засечке из каждого, в итоге в два раза больше прочиталось. При этом в system.merges ничего нету, данные заливались очень давно.
Запросы у меня так то выбирают из сета в 1000 айдишников которые удовлетворяют первичному ключу, но читается половина парта, выше привел просто пример дебага
Selected 2/66 parts by partition key, 1 parts by primary key, 2/4239 marks by primary key, 2 marks to read from 1 ranges. Партишн ключ это тип Date, выбирал по 1 дате, то есть получается на 1 дату приходится два парта
почему две гранулы(?) читается, написано в доке. это обусловлено устройством первичного ключа.
осознал да, что значение столбца ПК может быть не в самом начале, но и быть в конце/в середине. Спасибо
Обсуждают сегодня