SV
есть 2 шарда по которым пополам поделены даннные
есть distributed таблица на них
и на одном из шардов другая таблица, с полным набором данных
я ожидаю что distributed таблица должна работать быстрее чем таблица с полными данными, но по факту даже немного медленнее
запросы к табличкам с половинными данными работают ожидаемо ~ 2 раза быстрее
запросы тестовые вида:
select FHospital, count(), count(distinct FPatKey)
from
default
.PHARMACY_ConsumptionReports_test2group by FHospital;
select FHospital, count(),count(distinct FPatKey)
from default.Distr
group by FHospital
FHospital здесь - используется в ключе шардинга, но есть подозрение что кх не понимает что можно на каждом шарде посчитать и тянет к инициатору всё
на реальныхсложных запросах тоже +- одно время или до 15% деградации на distributed таблице.
План distributed:
Expression
Expression
MergingAggregated
Union
ParallelAggregating
Expression × 6
MergeTreeThread
Remote
план обычный:
Expression
Expression
ParallelAggregating
Expression × 6
MergeTreeThread