184 похожих чатов

Всем привет. Подскажите, пожалуйста, на что влияет GRANULARITY в индексе

и как правильно его выбрать?

10 ответов

25 просмотров

Сколько обычных гранул (8192 строки по дефолту) приходится на одну засечку индекса

Mark-F Автор вопроса
lnuynxa
Сколько обычных гранул (8192 строки по дефолту) пр...

например если я делаю индекс на visitor_id (уникальный для каждого юзера) и ~ 20млн юзеров, то сколько GRANULARITY я должен выставить?

Mark F
например если я делаю индекс на visitor_id (уникал...

Имейте в виду, что уменьшение гранулярности ведёт к увеличению размера индекса (который во время запроса целиком считывается в оперативку) и увеличению времени выполнения запроса. Я на выходных пробовал подбирать оптимальный index_granularity для похожей таблицы (по степени двойки перебрал значения от 8 до 16384) и ни один из вариантов не был быстрее дефолтного 8192.

lnuynxa
index_granularity это чуть другое

А, пардон. Я всё о своей боли)

Alexey Sokolov
А, пардон. Я всё о своей боли)

Ваша конкретная боль заключается в том, что есть блок компрессии который составляет 65к строк, и кх с диска должен прочитать именно его

lnuynxa
Ваша конкретная боль заключается в том, что есть б...

Об этом не знал, пойду почитаю. Спасибо.

Alexey Sokolov
Имейте в виду, что уменьшение гранулярности ведёт ...

я сравнивал не по времени выполнения запроса Elapsed, а по количеству срок Processed — index_granularity=256. Elapsed: 0.527 sec. Processed 1.01 million rows, 58.99 MB (1.92 million rows/s., 111.95 MB/s.) index_granularity=1024. Elapsed: 0.550 sec. Processed 1.77 million rows, 72.48 MB (3.22 million rows/s., 131.87 MB/s.) index_granularity=4096. Elapsed: 0.637 sec. Processed 4.39 million rows, 116.25 MB (6.89 million rows/s., 182.42 MB/s.) index_granularity=8192. Elapsed: 0.591 sec. Processed 6.42 million rows, 147.89 MB (10.85 million rows/s., 250.06 MB/s.) получилось что у index_granularity=256 меньше всего Elapsed я так понимаю, что запрос оптимальнее использует индекс при 256

Похожие вопросы

Обсуждают сегодня

Типа вызывать GetParent и проверять на соответствие GetModuleHandle?
The Bird of Hermes
67
Do any of you guys have interesting projects one could join? I'm a Middle Full-Stack developer (JS/TS, React & Node)
Lev Shapiro
40
Есть сайт. Там была древняя версия эво. Стоял плагин, который каждый коммент в Jot делал отдельной страницей. После обновления все слетело, теперь старница открывается отдельн...
Artem
1
Всем привет! Кто нибудь парсил в ручную JSON без библиотек и фреймворков? Есть может ссылки на оптимальный алгоритмы работы с текстом и примеры таких парсеров?
Lem
27
$res = json_decode($наша строка из респонса); $res1 = array_map(fn($o) => $o->name, $res->breadcrumbs[0]->entities); Как такое будет на Хаскеле?.. В начале весь джейсон, в ко...
Хаскель Моисеевич Гопник
27
Добрый день. А shovel'ы можно как-то сконфигурировать в definitions.json? Пробовал что-то вроде: { "users": [ { "name": "agent", "password_hash": "RBCbTzQd...
Aleksey
1
Вопрос по диагностике ошибок (я знаю в чем, в данном конкретном примере, я знаю, как исправить, пример модельный, понятно, что в реальности бывает намного запутаннее). module...
ⰄⰎⰋⰐⰐⰑⰛⰤⰧⰧⰩⰄ ⰊⰑⰁⰓⰡⰛⰦⰕⰫ
11
В чем сила брат, в NASM или FASM?
Isaac Kleiner
18
А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
52
Карта сайта