на каждую Part строится свой отсортированный индекс и в несольких индексах вполне могут пересекаться значения, но при этом во время итерирования одинаковые значения не обязательно будут идти последовательно?
Part 1:
A 2
B 4
C 6
Part 2
A 1
B 3
C 5
Я ожидаю:
A 1
A 2
B 3
B 4
C 5
C 6
А итератор ClickHouse по идее идёт так:
A 2
B 4
C 6
A 1
B 3
C 5
Если не так, то он же не будет сортировать части в памяти, верно? Да и вроде для выборок это не нужно (кроме sequenceMatch).
Я так понимаю, чтобы добиться нужного кейса, нужно либо смерджить всё в одну парт, либо в памяти при запросе эти парты сортировать, либо скакать по данным ещё как-то. Все варианты очень медленные.
Скан параллельно идет, что в одном парте что в нескольких. Хотите ордер гарантию - делаете ордер бай
Данные отсортированы уже на диске... По мере чтения кх будет возвращать сортированные данные
Обсуждают сегодня