LowCardinality входит в PK, т.е. отсортирована
но уникальных значений в ней больше, чем 10_000, может быть несколько сот тысяч
то, что колонка отсортирована, как-то помогает LowCardinality или все равно?
может быть там будет несколько словарей и за счет сортировки в них будут разные значения?
не имеет значения, в индексе хранятся сами строки
а размер и количество словарей? или то же не важно?
даже не знаю как объяснить, PK индекс вообще никак не связан с LC есть в таблице строка : "aaaaaabbbbbbccccc" КХ бежит по первичному ключу и находит там ключ "aaaaaabbba", этот ключ у указывает на засечку =654701 КХ идет в .mrk файл берет оттуда 8+8+8 байта по смещению 654701*24 Идет .bin и файл и читает по смещению 8, потом еще по 8, находит идентификатор словаря, и индекс в словаре идет в словарь находит там aaaaaabbbbbbccccc, передает дальше по пайплайну.
ладно, нет PK, вопрос то не про него вот есть просто отсортированная колонка, через order by, да, она отсортирована кусками, т.к. есть какой-то PK, но эти отсортированные куски довольно большие и содержат значительное кол-во уникальных значений, пусть это будут десятки тысяч Т.е. данные такие primary key (app_id), order by (app_id, low_card), или сразу primary key (app_id, low_card) и данные там будут такие: для app_id=1 много отсортированных строк, уникальных их пусть несклько тысяч потом для app_id=2 много **других** отсортированных строк, других уникальных пусть тоже будет несколько тысяч и так далее И вопрос в том, поможет ли эта сартировка LowCardinality? Т.е. условно будет ли для каждого app_id по своему словарю? понятно, что прямо по app_id не будет, но прмерно?
Обсуждают сегодня