#оптимизация_sql — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #оптимизация_sql, aggregated by home.social.
-
CTE в PostgreSQL: как писать сложные запросы просто
Запутались в многоэтажных SQL‑запросах? Обобщённые табличные выражения (CTE) — тот инструмент, который превращает лапшу из JOIN и подзапросов в читаемый, модульный код. Разберем на реальных примерах из FinTech и e‑commerce, как разбивать сложную логику на цепочку простых шагов, использовать CTE в UPDATE/DELETE, строить рекурсии для иерархий и избегать ловушек оптимизатора в PostgreSQL. Разобраться с CTE
https://habr.com/ru/companies/otus/articles/1022160/
#PostgreSQL #SQL #CTE #WITH #обобщенные_табличные_выражения #сложные_запросы #подзапросы #оптимизация_SQL #рекурсивные_запросы #читаемый_SQL
-
CTE в PostgreSQL: как писать сложные запросы просто
Запутались в многоэтажных SQL‑запросах? Обобщённые табличные выражения (CTE) — тот инструмент, который превращает лапшу из JOIN и подзапросов в читаемый, модульный код. Разберем на реальных примерах из FinTech и e‑commerce, как разбивать сложную логику на цепочку простых шагов, использовать CTE в UPDATE/DELETE, строить рекурсии для иерархий и избегать ловушек оптимизатора в PostgreSQL. Разобраться с CTE
https://habr.com/ru/companies/otus/articles/1022160/
#PostgreSQL #SQL #CTE #WITH #обобщенные_табличные_выражения #сложные_запросы #подзапросы #оптимизация_SQL #рекурсивные_запросы #читаемый_SQL
-
CTE в PostgreSQL: как писать сложные запросы просто
Запутались в многоэтажных SQL‑запросах? Обобщённые табличные выражения (CTE) — тот инструмент, который превращает лапшу из JOIN и подзапросов в читаемый, модульный код. Разберем на реальных примерах из FinTech и e‑commerce, как разбивать сложную логику на цепочку простых шагов, использовать CTE в UPDATE/DELETE, строить рекурсии для иерархий и избегать ловушек оптимизатора в PostgreSQL. Разобраться с CTE
https://habr.com/ru/companies/otus/articles/1022160/
#PostgreSQL #SQL #CTE #WITH #обобщенные_табличные_выражения #сложные_запросы #подзапросы #оптимизация_SQL #рекурсивные_запросы #читаемый_SQL
-
CTE в PostgreSQL: как писать сложные запросы просто
Запутались в многоэтажных SQL‑запросах? Обобщённые табличные выражения (CTE) — тот инструмент, который превращает лапшу из JOIN и подзапросов в читаемый, модульный код. Разберем на реальных примерах из FinTech и e‑commerce, как разбивать сложную логику на цепочку простых шагов, использовать CTE в UPDATE/DELETE, строить рекурсии для иерархий и избегать ловушек оптимизатора в PostgreSQL. Разобраться с CTE
https://habr.com/ru/companies/otus/articles/1022160/
#PostgreSQL #SQL #CTE #WITH #обобщенные_табличные_выражения #сложные_запросы #подзапросы #оптимизация_SQL #рекурсивные_запросы #читаемый_SQL
-
Как мы ускорили SQL-запросы: реальные кейсы оптимизации PostgreSQL
Достаточно большое количество проблем производительности в backend-приложениях на самом деле находятся не в коде. За последние пару лет мне несколько раз приходилось разбирать системы, где: • API отвечало слишком долго • CPU базы был загружен почти на 100%
https://habr.com/ru/articles/1012922/
#оптимизация_SQL #оптимизация_запросов_postgresql #оптимизация_запросов #sql #postgresql #производительность_базы_данных #join
-
Ох уж эти join-ы: 4 способа ускорить ваши запросы в 10 раз
Все мы прекрасно знаем, join – одна из самых важных вещей в любой базе данных, но в то же время одна из самых ресурсозатратных операций. Да что уж там, в мире аналитики (OLAP) десятилетиями адепты различных подходов моделирования данных все спорят без остановки что лучше: нормализация (то есть много join) или денормализация (то есть мало join). Но все понимают, если можно без join, лучше без. Проблема в том, что они нужны практически всегда. В этой статье давайте посмотрим, можно ли реально обойдись без join и в каких ситуациях? А также 4 способа, которые кратно ускорят ваши запросы.
https://habr.com/ru/articles/1004888/
#sql #postgresql #postgresql_performance #ускорение_запросов #базы_данных #оптимизация_sql #покрывающие_индексы #redis #materialized_view #материализованные_представления
-
Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс
«Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение
https://habr.com/ru/articles/990398/
#PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка
-
Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс
«Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение
https://habr.com/ru/articles/990398/
#PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка
-
Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс
«Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение
https://habr.com/ru/articles/990398/
#PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка
-
Как один индекс на created_at сократил время ответа API с 12 секунд до 40 мс
«Страница заказов грузится вечность», — такой тикет прилетел в понедельник утром. На проде 800 тысяч записей, а типичный запрос с фильтрацией и сортировкой заставлял менеджеров ждать по 12 секунд. В этой статье разберем, почему стандартный индекс по одному полю не сработал, как EXPLAIN ANALYZE помог найти «бутылочное горлышко» и почему порядок полей в составном индексе имеет решающее значение
https://habr.com/ru/articles/990398/
#PostgreSQL #Django #оптимизация_SQL #индексы #составной_индекс #EXPLAIN_ANALYZE #производительность_БД #backendразработка
-
[Перевод] Зачем мне тут DuckDB?
Оконные функции в SQL выглядят безобидно ровно до того момента, пока не попадают на реальные объёмы данных. В этой статье разбирается конкретный аналитический запрос в PostgreSQL: от формулировки задачи и использования lead() до детального анализа плана выполнения с EXPLAIN ANALYZE . Без абстракций и «магии оптимизатора» — только факты, цифры, сортировки на диск, буферы и выводы, которые полезно уметь делать любому аналитику, работающему с большими таблицами.
https://habr.com/ru/companies/otus/articles/989440/
#PostgreSQL #оконные_функции #сортировка_на_диск #индексы #оптимизация_SQL #work_mem #буферы
-
При всплесках нагрузки: StarRocks Query Cache обеспечивает кратное ускорение
При пиковых нагрузках отчётные и аналитические системы сталкиваются с лавиной схожих агрегирующих запросов: растёт загрузка CPU и увеличиваются задержки. В StarRocks эту проблему решает Query Cache — кэширование промежуточных результатов агрегаций в памяти с их последующим переиспользованием. В реальных сценариях даёт 3–17× ускорение, работает для семантически эквивалентных запросов, перекрывающихся партиций и append-only данных. Внутри — лучшие практики, пример настройки и метрики диагностики.
https://habr.com/ru/articles/956308/
#starrocks #query_cache #olap #mpp #оптимизация_sql #материализованные_представления
-
Кардинальность при оптимизации DAX запросов в ClickHouse
Привет, Хабр! Мы уже неоднократно поднимали вопросы оптимизации запросов к СУБД ClickHouse, которую все чаще используют как универсальное высокопроизводительное хранилище для аналитических задач. В случае с Visiology этот вопрос приобретает двойную ценность, так как мы используем оптимизацию для эффективного выполнения запросов в языке DAX. Сегодня мы поговорим о применении группировок GROUP BY с учетом их производительности для относительно больших таблиц, например, с миллионами записей. Таким образом, речь пойдет об оценке кардинальности одного или нескольких столбцов. Эта задача, кстати, является достаточно нетривиальной. Но если Вы можете ее решить, появляется возможность для эффективных оптимизаций SQL. О них мы и поговорим сегодня.
https://habr.com/ru/companies/visiology/articles/895850/
#DAX #ClickHouse #комбинаторы #GROUP_BY #кардинальность #оптимизация_DAX #оптимизация_SQL
-
Оптимизация скриптов для витрин данных: от суток к часам
В 2022 году я присоединился к команде Газпромбанка в должности дата-инженера. В мои обязанности входила поддержка витрин данных для машинного обучения. Главной проблемой, с которой мне пришлось столкнуться, оказалось непомерно долгое время обработки данных при использовании устаревших скриптов. Например, расчет среза одной из витрин занимал более суток! Причина крылась в неоптимизированных скриптах, которые изначально разрабатывались для гораздо меньших объемов данных. Со временем объем обрабатываемой информации значительно увеличился, что закономерно привело к драматическому ухудшению производительности. В этой статье поделюсь своим опытом решения проблемы и расскажу о подходах, которые помогли сократить время выполнения с суток до нескольких часов.
-
Возможности комбинаторов в ClickHouse
Что делать с запросами к СУБД, выполнение которых затягивается на десятки минут, как можно оптимизировать вложенные операторы, чтобы получить нужные данные за секунды? За счет чего подобные операции выполняются в Visiology автоматически? Ответы на эти вопросы мы попробуем дать сегодня на примере небольшого синтетического теста со сложным SQL-запросом, и разберемся при чем тут комбинаторы в ClickHouse. Эта статья будет полезна тем, кто интересуется SQL-оптимизаторами, а также всем существующим и будущим пользователям Visiology, кто хочет заглянуть под капот системы. Если вы из их числа, добро пожаловать под кат :)
https://habr.com/ru/companies/visiology/articles/885928/
#DAX #ClickHouse #комбинаторы #minState #maxState #оптимизация_DAX #оптимизация_SQL