что влияет параметр гранулярности? а то из официальной документации немного не понял
Есть такое понятие как index_granularity = 8192 по умолчанию, дак вот 8192 это количество строк в грануле, гранулы разбиты засечками между друг другом, засечками PRIMARY KEY. GRANULARITY 3 это 3 гранулы, то есть 8192 х 3. То есть каждые 3 гранулы будет засечка skip_indexe
а есть какой нить best practice для использования? условно, есть таблица на 50 млрд записей. ряд выборок делается по user_id, полю с типом int. Изменить сортировку данных будет проблематично, нам не дадут достаточного времени для пеереливки данных. поэтому в качестве варианта решения думаю повесить на это поле skipping index с типом bloom_filter
Какая кардинальность user_Id ?
1700000 уникальных пользователей на 50000000000 записей, соотношение 0,034 - низкая кардинальность
Ну скорей всего поможет skip indexes вот тут примеры https://kb.altinity.com/altinity-kb-queries-and-syntax/skip-indexes/
извините, еще вопрос: в CH при использовании skip indexes нет понятия составного индекса? то есть мы строим индекс только по одному полю?
создаёте minmax c granularity 4, тестируете запросы, удаляете, создаёте с granularity 8, тестируете и так далее)
Обсуждают сегодня