explain

  • ХабрахабрФото Всегда ли хорош Index Only Scan?

    Всегда ли хорош Index Only Scan?

    Среди применяемых в PostgreSQL методов доступа к данным Index Only Scan стоит особняком, считаясь у многих разработчиков "волшебной пилюлей" для ускорения работы запроса - мол, "Index Scan - плохо, Index Only Scan - хорошо, как только получим его в плане - все станет замечательно". Как минимум, это утверждение неверно. Как максимум, при определенных условиях может вызвать проблемы чуть ли не…

    Читать далее »
  • ХабрахабрФото Self-hosted EXPLAIN: наглядно и безопасно

    Self-hosted EXPLAIN: наглядно и безопасно

    С момента первой же хабрапубликации о возможностях нашего сервиса визуализации планов запросов PostgreSQL explain.tensor.ru (а было это уже больше 2 лет назад) пользователи задавали резонный вопрос: "Все у вас круто, но у нас в запросах и планах есть коммерческая инфа, которую отправлять куда-то наружу низзя... Можно как-то ваш сервис развернуть на своей площадке?" Ну, а почему бы и нет, подумали мы - тем более, некоторые пользователи…

    Читать далее »
  • ХабрахабрФото Чего «энтерпрайзу» в PostgreSQL не хватает

    Чего «энтерпрайзу» в PostgreSQL не хватает

    В конце прошлого года Иван Панченко предложил мне рассказать на внутреннем семинаре Postgres Pro, чего, по нашему опыту использования PostgreSQL в "кровавом энтерпрайзе" "Тензора", не хватает в этой СУБД. С докладом пока так и не сложилось, зато появилась эта статья, в которой я постарался собрать наиболее показательные вещи и "хотелки", которые вызывают "напряги" при активном использовании PostgreSQL в реальном бизнесе.…

    Читать далее »
  • ХабрахабрФото Чего «энтерпрайзу» в PostgreSQL не хватает

    Чего «энтерпрайзу» в PostgreSQL не хватает

    В конце прошлого года Иван Панченко предложил мне рассказать на внутреннем семинаре Postgres Pro, чего, по нашему опыту использования PostgreSQL в "кровавом энтерпрайзе" "Тензора", не хватает в этой СУБД. С докладом пока так и не сложилось, зато появилась эта статья, в которой я постарался собрать наиболее показательные вещи и "хотелки", которые вызывают "напряги" при активном использовании PostgreSQL в реальном бизнесе.…

    Читать далее »
  • ХабрахабрФото One Tool to Analyze Them All

    One Tool to Analyze Them All

    Мы рады сообщить о реализации на explain.tensor.ru базовой поддержки анализа и визуализации планов, специфичных для PostgreSQL-совместимых решений: Timescale, Citus, Greenplum и Redshift. Так что если в будущем вам встретится план, похожий на результат обычного EXPLAIN, но с некоторыми странными узлами — вы знаете, куда идти. EXPLAIN <-> SQL В развитие темы сопоставления узлов плана и запроса добавлена возможность быстрого просмотра…

    Читать далее »
  • ХабрахабрФото PostgreSQL Antipatterns: работаем с отрезками в «кровавом энтерпрайзе»

    PostgreSQL Antipatterns: работаем с отрезками в «кровавом энтерпрайзе»

    В различных бизнес-приложениях регулярно возникает необходимость решить какую-либо задачу с отрезками/интервалами. Самое сложное в них — понять, что это именно одна из таких задач. Как правило, они отчаянно маскируются, и даже у нас в СБИС их найти можно в абсолютно разных сферах управления предприятием: контроле рабочего времени, оценке загрузки линий АТС или даже в бухгалтерском учете. «Отличие enterprise [решения] от…

    Читать далее »
  • ХабрахабрФото Анализируем «слона» по частям

    Анализируем «слона» по частям

    Если вы регулярно отлаживаете производительность запросов к PostgreSQL, а EXPLAIN (ANALYZE, BUFFERS) ... — любимый инструмент познания особенностей работы этой СУБД, то новые полезные «фишки» нашего сервиса визуализации и анализа планов explain.tensor.ru наверняка пригодятся вам в этом нелегком деле. Но сразу напомню, что без полноценного всестороннего мониторинга базы PostgreSQL использовать только анализ плана — это выступать с позиции мудреца #5!…

    Читать далее »
  • ХабрахабрФото Правильно [c]читаем параллельные планы PostgreSQL

    Правильно [c]читаем параллельные планы PostgreSQL

    Исторически, модель работы сервера PostgreSQL выглядит как множество независимых процессов с частично разделяемой памятью. Каждый из них обслуживает только одно клиентское подключение и один запрос в любой момент времени — и никакой многопоточности. Поэтому внутри каждого отдельного процесса нет никаких традиционных «странных» проблем с параллельным выполнением кода, блокировками, race condition,… А разработка самой СУБД приятна и проста. Но эта же…

    Читать далее »
  • ХабрахабрФото Вооруженным глазом: наглядно о проблемах PostgreSQL-запроса

    Вооруженным глазом: наглядно о проблемах PostgreSQL-запроса

    Продолжаем открывать для публичного доступа новый функционал нашего сервиса анализа планов выполнения запросов в PostgreSQL explain.tensor.ru. Сегодня мы научимся определять больные места навскидку в больших и сложных планах, лишь мельком взглянув на них вооруженным глазом… В этом нам помогут различные варианты визуализации: Сокращенный текстовый вид Оригинальный текст достаточно несложного плана уже вызывает проблемы при анализе: Поэтому мы предпочитаем сокращенный вид,…

    Читать далее »
  • ХабрахабрФото PostgreSQL Antipatterns: анализируем блокировки — SELF JOIN vs WINDOW

    PostgreSQL Antipatterns: анализируем блокировки — SELF JOIN vs WINDOW

    Ранее мы уже научились перехватывать блокировки из лога сервера PostgreSQL. Давайте теперь положим их в БД и разберем, какие фактические ошибки и проблемы производительности можно допустить на примере их простейшего анализа. В логах у нас отражается всего 3 вида событий, которые могут происходить с блокировкой: ожидание блокировкиLOG: process 38162 still waiting for ExclusiveLock on advisory lock [225382138,225386226,141586103,2] after 100.047 ms…

    Читать далее »


Кнопка «Наверх»