Анализ плана выполнения запроса с оконной функцией в SQL Server (+бонус)

В статье подробно разбирается план выполнения запроса с оконной функцией в MS SQL Server, проводится сравнительный тест производительности с альтернативным запросом. Статья будет полезна разработчикам, работающим с аналитическими запросами в SQL Server, а также всем, кто хочет глубже понять логику оптимизатора и влияние различных факоров на планы выполнения.

https://habr.com/ru/articles/918210/

#tsql #ms_sql_server #план_выполнения_запросов #оптимизация_запросов

Анализ плана выполнения запроса с оконной функцией в SQL Server (+бонус)

Добрый день! Предлагаю рассмотреть план выполнения следующего простого запроса: select code, model, avg(price) over (partition by model) avgp from pc (В данной статье используется таблица из базы...

Хабр

Оптимизация запросов в Django. Подробное руководство

Привет, хабр! В данной статье хочу рассказать больше чем обычно про оптимизацию запросов к базе данных в Django . Расскажу о том, как не только запрашивать, но и создавать или обновлять записи в базе. В статье будет много примеров, генерируемый SQL , типы данных, индексы и выводы планировщика запросов. Данная статья подходит для как для начинающих, так и достаточно опытных разработчиков на django, а также для всех, кто еще не интересовался, что происходит под капотом ORM .

https://habr.com/ru/articles/917710/

#django #postgresql #postgres #sql #python #запрос_данных #оптимизация #оптимизация_запросов #базы_данных #программирование

Оптимизация запросов в Django. Подробное руководство

Привет, хабр! В данной статье хочу больше, чем обычно рассказать, про оптимизацию запросов к базе данных в Django . Расскажу о том, как правильно не только запрашивать, но и создавать или обновлять...

Хабр

Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR

Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности? В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.

https://habr.com/ru/articles/911688/

#postgresql #Btree #составной_индекс #многоколонковый_индекс #ESR_правило #оптимизация_запросов #селективность #план_выполнения #explain_analyze #индексный_скан

Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR

Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает...

Хабр

SQL и нейросети: изучаем логику моделей через анализ и визуализацию весов

SQL — это не только про базы данных. В машинном обучении его используют для анализа весов, поиска аномалий, сравнения моделей и визуализации их логики. SQL помогает определить значимость признаков, заметить переобучение и оценить работу модели. В статье разберём, как хранить и извлекать веса, вычислять ключевые метрики и строить графики.

https://habr.com/ru/companies/netologyru/articles/891690/

#sql #машинное_обучение #machine_learning #ml #оптимизация_запросов #sql_запросы #нейросети #визуализация_данных #сравнение_моделей #базы_данных

SQL и нейросети: изучаем логику моделей через анализ и визуализацию весов

SQL — это не только про базы данных. В машинном обучении его используют для анализа весов, поиска аномалий, сравнения моделей и визуализации их логики. SQL помогает определить значимость признаков,...

Хабр

Bloom-фильтры в Postgres: скрытый инструмент для оптимизации запросов

В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему. Однако, несмотря на их потенциал, многие разработчики даже не знают, что Postgres поддерживает Bloom-фильтры "из коробки" (функциональность Bloom-фильтров доступна сразу после установки Postgres, при включении соответствующего расширения) через расширение bloom. Bloom-фильтры особенно полезны в ситуациях, когда нужно быстро проверить, принадлежит ли элемент к множеству, или когда требуется оптимизировать запросы с несколькими условиями. Например, они могут ускорить JOIN-запросы, поиск по нескольким столбцам или агрегатные функции. В этой статье мы разберем, что такое Bloom-фильтры, как они работают в Postgres, и в каких случаях их использование может быть полезным. Мы также рассмотрим практические примеры и покажем, как Bloom-фильтры могут помочь в оптимизации запросов.

https://habr.com/ru/companies/ppr/articles/890184/

#postgres #sql #оптимизация_запросов #bloom_filter #оптимизация_запросов_к_базам_данных

Bloom-фильтры в Postgres: скрытый инструмент для оптимизации запросов

Введение В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему....

Хабр

PostgreSQL Connection Pooling: Наш опыт и с чем его едят

Как обеспечить высокую производительность PostgreSQL и эффективно управлять соединениями? В этой статье мы разберёмся, как правильно настроить пул соединений, какие преимущества он даёт и как избежать распространённых ошибок. Делимся нашим опытом перехода с MongoDB на PostgreSQL и работы с пулом в Go с использованием pgx.

https://habr.com/ru/companies/hikasami/articles/884820/

#postgresql #golang #hikasami #базы_данных #оптимизация_запросов #производительность

PostgreSQL Connection Pooling: Наш опыт и с чем его едят

Введение Когда мы работали с MongoDB, мы использовали встроенные механизмы подключения, которые предоставляли свою версию пула соединений. Однако с переходом на PostgreSQL необходимость...

Хабр

Оптимизация JOIN в PostgreSQL

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

https://habr.com/ru/articles/883916/

#join #оптимизация_запросов #индексы #dba #оптимизация #план_запроса #производительность #sql_tips_and_tricks #запросы_sql #postgresql_performance

Оптимизация JOIN в PostgreSQL

При написании SQL-запросов с JOIN важно понимать, какой алгоритм соединения выберет PostgreSQL. От этого зависит скорость выполнения запроса, особенно на больших объемах данных. В этой статье...

Хабр

Отслеживание изменений размеров таблиц Arenadata DB

История, связанная с этой задачей, началась для нас в мае 2024 года. Один из крупных пользователей Greenplum/Arenadata DB обратился к нам с запросом реализовать возможность отслеживания изменения размеров файлов данных таблиц. Эта функциональность стала бы составной частью, источником событий для системы мониторинга пользовательских кластеров. Задача показалась нам крайне интересной и перспективной. Однако пользователю, как это часто бывает, решение требовалось уже вчера. С одной стороны, мы осознавали всю сложность этой задачи в полнофункциональной реализации для всех пользователей нашего продукта (и как следствие, адекватно оценивали предполагаемые трудозатраты). С другой стороны, затачивать решение под конкретного пользователя, но в то же время и поставлять эту реализацию как часть общего решения мы сочли неправильным. По итогу команда разработки продолжила работу в своём темпе и в соответствии со своим представлением о реализации.

https://habr.com/ru/companies/arenadata/articles/881808/

#arenadata_db #monitoring #greenplum #postgres #bloom_filter #оптимизация_запросов #big_data #grafana #субд #метрики

Отслеживание изменений размеров таблиц Arenadata DB

Введение История, связанная с этой задачей, началась для нас в мае 2024 года. Один из крупных пользователей Greenplum/Arenadata DB обратился к нам с запросом реализовать возможность отслеживания...

Хабр

Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?

Хеш-индексы в PostgreSQL - мощный, но недооценённый инструмент. Когда они быстрее B-Tree, а когда наоборот? Простое объяснение, тесты и ключевые нюансы, которые помогут ускорить запросы...

https://habr.com/ru/articles/882106/

#базы_данных #sql #оптимизация_запросов #индексы #btree #hash #производительность #BTree_vs_Hash #разработка #dba

Хеш-индексы в PostgreSQL: быстрый поиск или скрытые проблемы?

Индексы — важнейший инструмент оптимизации запросов в базах данных. В PostgreSQL одним из вариантов является хеш-индекс. В отличие от B-tree, он работает исключительно с операциями равенства ( = ) и...

Хабр

Перенос Orca в расширение Postgres: цели и детали реализации

Greengage Database — наш форк Greenplum Database. Основная идея — оставить исходный код открытым и продолжить разработку и совершенствование базы данных. Мы собираемся перенести Greengage Database на более новую версию Postgres, предоставив более богатый набор функций всем пользователям сообщества и нашим клиентам. Но эта задача сложнее, чем может показаться. Ранее для реализации функций массивно-параллельных вычислений Greenplum Database основная функциональность Postgres была существенно переработана. Таким образом, обновление версии Postgres создавало огромные сложности. Например, переход с Postgres 9 на Postgres 12 потребовал огромных усилий — между мажорными релизами было почти 5 лет разработки. Имея это в виду, мы начали масштабный рефакторинг ядра Greengage Database. Мы собираемся разделить ядро ​​Postgres и специфичные функции Greengage Database, используя стандартные существующие средства Postgres для расширений.

https://habr.com/ru/companies/arenadata/articles/875032/

#orca #postgresql #рефакторинг #модульность #api #c++ #базы_данных #mpp #оптимизация_запросов #database_optimization

Перенос Orca в расширение Postgres: цели и детали реализации

Введение Greengage Database  — наш форк Greenplum Database. Основная идея — оставить исходный код открытым и продолжить разработку и совершенствование базы данных. Мы собираемся перенести Greengage...

Хабр