/
marcusstill
/
ClickHouseCource
Обзор
Документация
Войти
/
marcusstill
/
ClickHouseCource
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ClickHouseCource
/
14_explain
/
..
README.md
Update README.md
8 месяцев назад
README_DZ.md
Update README.md
10 месяцев назад
План выполнения запроса с помощью Explain
1. Пересоздаем таблицу и наполняем ее данными
2. Запрос для исследования
AST
3. Получаем абстрактное синтаксическое дерево
4. Получаем абстрактное синтаксическое дерево в виде графа. Страница для визуализации графа
5. Получаем абстрактное синтаксическое дерево с флагом оптимизации (проверяет корректность указанных таблиц и колонок)
Query Tree
6. Получаем дерево запроса
7. Получаем дерево запроса без оптимизаций (проходов)
8. Получаем дерево запроса со всеми оптимизациями и выводом списка примененных оптимизаций (проходов)
9. Получаем дерево запроса со применением 2-х оптимизаций и выводом списка примененных оптимизаций (проходов)
10. Получаем AST со применением 2-х оптимизаций и выводом списка примененных оптимизаций (проходов)
План выполнения запроса
11. Получение плана выполнения запроса
12. Получение плана выполнения запроса с описанием обрабатываемых колонок на каждом этапе
13. Получение плана выполнения запроса с описанием каждого этапа
14. Получение плана выполнения запроса с информацией о результатах применения индексов
15. Получение плана выполнения запроса в формате json
16. Получение плана выполнения запроса в лаконичной форме без описаний
PIPELINE
17. Получение pipeline запроса
18. Получение pipeline запроса для представления в виде графа
19. Получение pipeline запроса для представления в виде графа в расширенном формате
Время выполнения этапов запроса
20. Выполняем запрос
21. Находим запись о выполнении запроса в querylog и берем его queryid
22. Подставляем queryid в запрос и получаем время выполнения и другую информацию по каждому этапу запроса
Пример оптимизации
23. Оригинальный запрос
24. Проверяем эффективность применения индексов
25. Смотрим, какие этапы выполнения запроса заняли больше всего времени
26. Получаем граф конвеера запроса.
27. Для оптимизации пересоздаем таблицу с другим первичным индексом
28. Смотрим, как поменялось время выполнения этапов запроса
29. Проверяем, как поменялась эффективность применения индекса
README.md