Собрал курсы, которые дополнили знания по аналитике после Практикума.
SQL
Сиквел — основа работы всех сортов аналитиков. И даже видел рекомендации осваивать сиквел продакт-менеджерам. Задачи на SQL мне встречались почти во всех тестовых.
Простота SQL обманчива. Помню как радовался, когда наконец «изучил SQL», пройдя курс по базовым запросам; и как потом «прозрел», когда неделю делал тестовое в SkyEng с оконными функциями и вложенными запросами.
Навык никогда не будет лишним и «перекачать» его сложно. По-моему стоит его делать каждый день по небольшому подходу — мне тут помогает поставить на повтор в трекере задач.
Базовый SQL:
https://mode.com/sql-tutorial/ или https://stepik.org/course/51562
Продвинутый уровень — понимание работы запросов в контексте баз данных:
https://stepik.org/course/55776/syllabus — транзакции, ACID, процедуры, триггеры, представления
https://stepik.org/course/51675/syllabus — проектирование баз данных, четыре нормальных формы, денормализация, удаление данных
Если эти ссылки не зашли (это нормально!), вот ещё была большая подборка курсов в канале у Алексея Никушина
https://t.me/internetanalytics/3012
#SQL
SQL
Сиквел — основа работы всех сортов аналитиков. И даже видел рекомендации осваивать сиквел продакт-менеджерам. Задачи на SQL мне встречались почти во всех тестовых.
Простота SQL обманчива. Помню как радовался, когда наконец «изучил SQL», пройдя курс по базовым запросам; и как потом «прозрел», когда неделю делал тестовое в SkyEng с оконными функциями и вложенными запросами.
Навык никогда не будет лишним и «перекачать» его сложно. По-моему стоит его делать каждый день по небольшому подходу — мне тут помогает поставить на повтор в трекере задач.
Базовый SQL:
https://mode.com/sql-tutorial/ или https://stepik.org/course/51562
Продвинутый уровень — понимание работы запросов в контексте баз данных:
https://stepik.org/course/55776/syllabus — транзакции, ACID, процедуры, триггеры, представления
https://stepik.org/course/51675/syllabus — проектирование баз данных, четыре нормальных формы, денормализация, удаление данных
Если эти ссылки не зашли (это нормально!), вот ещё была большая подборка курсов в канале у Алексея Никушина
https://t.me/internetanalytics/3012
#SQL
ThoughtSpot
ThoughtSpot SQL Tutorial | ThoughtSpot
Learn to answer questions with data using SQL, no prior coding required, guiding you through foundational to advanced SQL skills.
Forwarded from Daily Data Chat
Продолжение...
В качестве замеров используем EXPLAIN Postgres - если, его выполнять как EXPLAIN ANALYZE, то получим фактическое время выполнения запроса - пример на первом рисунке.
Далее формируем два запроса:
Первый - в условии указываем полное время без преобразований
Второй - в условии экстрактим год и берем всё больше 2021
В исходной таблице есть индекс по полю ts.
Добавим щепотку статистики, чтобы не сравнивать два случайных времени, выполним и тот и другой 100 раз, строим боксплоты. Вперед.
Основной результат: отсуствие преобразований в WHERE дает 4х прирост к скорости выполнения запрос (естественно на этих данных и таком кол-ве, можно будет проверить как зависит от объема данных)
Детальный результат - 2 рисунка плана выполнения запросов, как только появляется преобразование в WHERE то мы имеем дело с SeqScan, без EXTRACT планировщик использует Bitmap Heap Scan \ Bitmap Index Scan
Вот такая арифметика, используйте SQL c умом
#de #sql #lifehacks
В качестве замеров используем EXPLAIN Postgres - если, его выполнять как EXPLAIN ANALYZE, то получим фактическое время выполнения запроса - пример на первом рисунке.
Далее формируем два запроса:
Первый - в условии указываем полное время без преобразований
explain analyze select *
from sensors.weather w
where w.ts between '2021-01-01 00:00:00' and now();
Второй - в условии экстрактим год и берем всё больше 2021
explain analyze select *
from sensors.weather w
where extract ('year' from w.ts) >= 2021;
В исходной таблице есть индекс по полю ts.
Добавим щепотку статистики, чтобы не сравнивать два случайных времени, выполним и тот и другой 100 раз, строим боксплоты. Вперед.
Основной результат: отсуствие преобразований в WHERE дает 4х прирост к скорости выполнения запрос (естественно на этих данных и таком кол-ве, можно будет проверить как зависит от объема данных)
Детальный результат - 2 рисунка плана выполнения запросов, как только появляется преобразование в WHERE то мы имеем дело с SeqScan, без EXTRACT планировщик использует Bitmap Heap Scan \ Bitmap Index Scan
Вот такая арифметика, используйте SQL c умом
#de #sql #lifehacks
👍14