Метод explain()
Метод explain() показывает план выполнения запроса к DataStore, помогая понять, какие операции будут выполнены и какой SQL-код будет сгенерирован.
Основы использования
Синтаксис
Параметры:
| Параметр | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
verbose | bool | False | Отображать дополнительные метаданные |
Формат вывода
Стандартный вывод
Условные обозначения значков
| Значок | Значение |
|---|---|
| 📊 | Источник данных |
| 🚀 | Операция chDB (SQL) |
| 🐼 | Операция pandas |
Подробный режим вывода
Подробный режим показывает дополнительную информацию для каждой операции, включая полный SQL‑запрос с механизмами внутреннего отслеживания порядка строк.
Три этапа выполнения
Вывод explain показывает операции, разбитые на три этапа:
Этап 1: построение SQL-запроса (отложенное)
Операции, которые транслируются в SQL:
Фаза 2: Точка выполнения
Когда срабатывает триггер:
Этап 3: операции над DataFrame
Операции после выполнения:
Разбор плана
Информация об источнике данных
file()- табличная функция ClickHouse file()'CSVWithNames'- файловый формат с заголовком
Другие типы источников данных:
Операции фильтрации
Показывает условие WHERE, которое будет применено.
GROUP BY и агрегация
Показывает столбцы GROUP BY и функции агрегации.
Операции сортировки
Показывает предложение ORDER BY.
Операции с LIMIT
Отображает LIMIT и OFFSET.
Информация о движке
В режиме подробного вывода можно увидеть, какой движок будет использоваться:
Pushdown
- Да: Операция будет выполняться на стороне источника данных (SQL)
- Нет: Операция требует выполнения средствами pandas
Примеры
Простой запрос
Сложная агрегация
Смешанное использование SQL и pandas
Когда операции нельзя полностью выполнить на стороне SQL, в плане отображается несколько сегментов: