Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Производительность и оптимизация

В этом разделе собраны советы и лучшие практики по повышению производительности ClickHouse. Перед чтением этого раздела рекомендуем ознакомиться с Core Concepts, где рассматриваются основные понятия, необходимые для повышения производительности.

Тема Описание
Руководство по оптимизации запросов Начните с основ оптимизации запросов: здесь разбираются типичные сценарии и методы повышения производительности, которые помогают ускорить выполнение запросов.
Расширенное руководство по первичным индексам Подробное описание уникальной для ClickHouse разреженной системы первичных индексов, её отличий от традиционных баз данных и рекомендаций по выбору оптимальной стратегии индексации.
Параллелизм запросов Узнайте, как ClickHouse распараллеливает выполнение запросов с помощью линий обработки и настройки max_threads, а также как анализировать и оптимизировать параллельное выполнение.
Ключ партиционирования Освойте выбор ключа партиционирования, чтобы заметно повысить производительность запросов за счёт эффективного отсечения сегментов данных и избежать типичных ошибок партиционирования.
Индексы пропуска данных Грамотно применяйте вторичные индексы, чтобы пропускать нерелевантные блоки данных и ускорять запросы с фильтрацией по столбцам, не входящим в первичный ключ.
Оптимизация PREWHERE Узнайте, как PREWHERE автоматически сокращает I/O, отфильтровывая данные до чтения ненужных столбцов, и как отслеживать эффективность этого механизма.
Пакетные вставки Максимизируйте пропускную способность ингестии и снижайте накладные расходы на ресурсы за счёт эффективной пакетной вставки данных.
Асинхронные вставки Повысьте производительность вставки, используя серверный батчинг, чтобы уменьшить сложность на стороне клиента и увеличить пропускную способность при частых вставках.
Избегайте мутаций Проектируйте append-only-процессы, исключающие дорогостоящие операции UPDATE и DELETE без ущерба для точности данных и производительности.
Избегайте столбцов с типом Nullable Снижайте накладные расходы на хранение и повышайте производительность запросов, используя значения по умолчанию вместо столбцов с типом Nullable там, где это возможно.
Избегайте OPTIMIZE FINAL Узнайте, когда стоит и когда не стоит использовать OPTIMIZE TABLE FINAL
Анализатор Используйте анализатор ClickHouse, чтобы выявлять узкие места производительности и оптимизировать планы выполнения запросов для повышения эффективности.
Профилирование запросов Используйте выборочный профилировщик запросов, чтобы анализировать характер выполнения запросов, выявлять узкие места производительности и оптимизировать использование ресурсов.
Кэш запросов Ускоряйте часто выполняемые запросы SELECT, включая и настраивая встроенное в ClickHouse кэширование результатов запросов.
Тестирование оборудования Запускайте бенчмарки производительности ClickHouse на любом сервере без установки, чтобы оценить возможности оборудования. (Неприменимо к ClickHouse Cloud)
Navigation