Ну что ж, с началом рабочей недели! Я вернулась из отпуска и готова ринуться в бой🎧
Возвращаться к тому, что уже хорошо знакомо - не сложно. А вот моя самая первая рабочая задача аналитиком 5 лет назад была для меня настоящим вызовом!
На моей первой работе аналитиком первой задачей стало переписать огромный SQL-запрос, по которому собиралась воронка найма исполнителей. Стояли временнЫе ограничения в PostgreSQL: если любой запрос выполнялся больше 4 минут, он отваливался по таймауту. Ну и соответственно переодически этот запрос отваливался и нужно было его оптимизировать так, чтобы он выполнялся как можно быстрее.
На тот момент я знала SQL супер базово: могла заселектить, группировку сделать, сортировку - все. В каком же шоке я тогда была от того запроса 😱Я не знала, что:
➖запросы бывают такими длинными
➖про существование CTE (
WITH)➖что можно писать после
GROUP BY просто цифры (1, 2, 3), а не перечислять названия полей➖что не обязательно выделять ключевые слова капсом (
SELECT, FROM и тд), а можно писать в одном регистре➖о существовании всяких функций типа
COALESCE, CASE WHEN, CONCATДля меня просто мир поделился на до и после. Как же меня прокачала та задача! Тогда я:
➖убрала в запросе избыточные селекты одних и тех же данных из сырых таблиц (вместо этого там, где это возможно, переиспользовала результат селекта)
➖убрала лишние
LEFT JOIN-ы ➖убрала лишние
DISTINCT-ы ➖заменила там, где это возможно
LIKE на конкретные значения➖и тд.
Запрос стал отрабатывать без проблем. Ну и для своего удобства я еще сделала красивые отступы и добавила комментарии в код👀
А вы помните свою первую закрытую таску?
#sql_анна_в_данных
#карьера_анна_в_данных