Обзор
Что отключает режим производительности
Включение режима производительности
Использование объекта config
Использование функций модуля
Использование удобных импортов
При включении режима производительности движок выполнения автоматически устанавливается в
chdb. Отдельно вызывать config.use_chdb() не нужно.Когда использовать режим производительности
- Обрабатываете большие наборы данных (от сотен тысяч до миллионов строк)
- Выполняете рабочие нагрузки с интенсивной агрегацией (groupby, sum, mean, count)
- Порядок строк не имеет значения (например, для агрегированных результатов, отчетов, панелей мониторинга)
- Вам нужна максимальная пропускная способность SQL и минимальные накладные расходы
- Важно использование памяти (параллельное чтение Parquet, без промежуточных DataFrame)
- Вам нужно точное поведение pandas (порядок строк, MultiIndex, dtypes)
- Вам важно, чтобы
first()/last()возвращали действительно первую/последнюю строку - Вы используете
shift(),diff(),cumsum(), которые зависят от порядка строк - Вы пишете тесты, сравнивающие вывод DataStore с pandas
Различия в поведении
Порядок строк
- Результаты фильтрации
- Результаты агрегации
GroupBy head()/tail()без явногоsort_values()- Агрегации
first()/last()
sort_values():
Результаты GroupBy
Агрегация
Выполнение одним SQL-запросом
ColumnExpr с groupby (например, ds[condition].groupby('col')['val'].sum()) выполняется одним SQL-запросом, а не в два этапа, как в режиме pandas:
Сравнение с движком выполнения
compat_mode) и движок выполнения (execution_engine) — независимые параметры конфигурации:
При установке
compat_mode='performance' значение execution_engine автоматически задаётся как chdb, поскольку режим производительности предназначен для выполнения SQL.
Тестирование в режиме производительности
Сравнение после сортировки (агрегации, фильтры)
Проверка диапазона значений (первое/последнее)
Схема и число строк (LIMIT без ORDER BY)
Рекомендации
1. Включайте в начале скрипта
2. Явно задавайте сортировку, когда важен порядок
3. Используйте для батч- и ETL-нагрузок
4. Переключение режимов в одном сеансе
- движок выполнения — Выбор движка (auto/chdb/pandas)
- Performance Guide — Общие рекомендации по оптимизации
- Ключевые отличия от pandas — Различия в поведении