что КХ полностью загружает индекс в память, а потом большие индексы - это зло. Но вот вчера тестил разные типы индексов и заметил следующую вещь на одном из примеров:
- размер сжатого индекса - 35.6мб,
- размер несжатого индекса - 122.4мб,
- пиковое использование памяти во время запроса - 16.3мб.
Получается, что либо загрузка индекса в память не учитывается в метрике peak memory usage запроса, либо он загружается в память не целиком. Если последнее, то как это всё-таки работает?
Не учитывается. Индекс шарится между всеми запросами.
А в какой момент он загружается в память и в какой выгружается?
Всегда в памяти целиком. Никогда не выгружается. Не уверен когда загружается, я считал что при старте кх (есть мнение что при первом обращении).
И раз в N времени перезагружает его в память? Или как обновления подтягиваются?
Так нет обновлений. У каждого парта свой pk лежащий отдельно в кеше.
Обсуждают сегодня