Перейти к основному содержанию
Метод explain() показывает план выполнения запроса DataStore, помогая понять, какие операции будут выполнены и какой SQL будет сгенерирован.

Базовое использование

Синтаксис

Параметры:

Формат вывода

Стандартный вывод

Условные обозначения

Подробный вывод

Подробный режим показывает дополнительные сведения для каждой операции, включая полный SQL-запрос с механизмами внутреннего отслеживания порядка строк.

Три фазы выполнения

В выводе explain операции показаны в трех фазах:

Фаза 1: Построение SQL-запроса (в ленивом режиме)

Операции, которые компилируются в SQL:

Фаза 2: Точка выполнения

Когда срабатывает триггер:

Этап 3: Операции с DataFrame

Операции после выполнения:

Разбор плана

Сведения об источнике

  • file() - табличная функция ClickHouse file()
  • 'CSVWithNames' - файловый формат с заголовком
Другие типы источников:

Операции фильтрации

Показывает предложение WHERE, которое будет использовано.

GroupBy и Aggregate

Показывает столбцы в GROUP BY и агрегатные функции.

Операции сортировки

Отображает предложение ORDER BY.

Ограничение операций

Показывает LIMIT и OFFSET.

Информация о движке

В подробном режиме можно увидеть, какой движок будет использоваться:

Pushdown

  • Да: Операция будет выполнена на стороне источника данных (SQL)
  • Нет: Для выполнения операции требуется pandas

Примеры

Простой запрос

Сложная агрегация

Сочетание SQL и pandas

Когда операции нельзя полностью выразить в SQL, план показывает несколько сегментов:

Отладка с помощью explain()

Проверьте логику фильтрации

Проверьте выбор столбца

Разберитесь с агрегацией


Рекомендации

1. Проводите проверку перед выполнением крупных запросов

2. Используйте Verbose для отладки

3. Сравнение с to_sql()

4. Проверьте, применяется ли pushdown

Последнее изменение 2 июля 2026 г.