<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>SQL-Ex blog - Optimization</title>
    <link>https://sql-ex.ru/blogs/</link>
    <description>Новости сайта &quot;Упражнения SQL&quot;, статьи и переводы</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 2.3.5 - http://www.s9y.org/</generator>
    <pubDate>Sun, 07 Jun 2026 05:37:00 GMT</pubDate>

    <image>
    <url>https://sql-ex.ru/images/logo.jpg</url>
    <title>RSS: SQL-Ex blog - Optimization - Новости сайта &quot;Упражнения SQL&quot;, статьи и переводы</title>
    <link>https://sql-ex.ru/blogs/</link>
    <width></width>
    <height></height>
</image>

<item>
    <title>Обзор индексов в MySQL: B-Tree индексы FULLTEXT</title>
    <link>https://sql-ex.ru/blogs/?/MySQL-B-Tree-FULLTEXT.html</link>
            <category>MySQL</category>
            <category>Optimization</category>
    
    <comments>https://sql-ex.ru/blogs/?/MySQL-B-Tree-FULLTEXT.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3412</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3412</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.red-gate.com/simple-talk/databases/mysql/mysql-index-overviews-fulltext-b-tree-indexes/&quot;&gt;Lukas Vileikis. MySQL Index Overviews FULLTEXT B-Tree Indexes&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;h2&gt;Что такое полнотекстовое индексирование?&lt;/h2&gt;&lt;br /&gt;
Полнотекстовые индексы - это особый тип индекса, который позволяет быстро и эффективно выполнять поиск по данным, используя довольно экзотические режимы поиска. В MySQL эти режимы включают, но не ограничиваются ими, логический режим, режим естественного языка и режим поиска с использованием расширения запроса. Некоторые из режимов поиска, ставшие возможными благодаря использованию полнотекстовых индексов, предоставляют уникальную поддержку для различной интерпретации определенных символов, поиска подразумеваемых данных и других специфических нюансов.&lt;br /&gt;
&lt;br /&gt;
Полнотекстовое индексирование работает аналогичным образом во многих системах управления базами данных и существенно не менялось годами - загляните в &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.red-gate.com/simple-talk/databases/sql-server/learn/understanding-full-text-indexing-in-sql-server/&quot;&gt;блог Роберта Шелдона, посвященного полнотекстовому поиску более двух десятилетий назад&lt;/a&gt;, и вы конечно найдете что-нибудь, что изменилось в вашей установке SQL Server, но вы также обнаружите множество вещей, которые остались неизменными; и то же самое можно сказать о других системах управления базами данных.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/MySQL-B-Tree-FULLTEXT.html#extended&quot;&gt;Continue reading &quot;Обзор индексов в MySQL: B-Tree индексы FULLTEXT&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 07 Jun 2026 08:37:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3412.html</guid>
    
</item>
<item>
    <title>Оптимизация поиска при использовании SQL LIKE с подстановочными знаками</title>
    <link>https://sql-ex.ru/blogs/?/SQL-LIKE.html</link>
            <category>Optimization</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/SQL-LIKE.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3399</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3399</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.mssqltips.com/sqlservertip/8100/optimize-sql-like-wildcard-searches/&quot;&gt;Simon Liew. Optimize SQL LIKE Wildcard Searches&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Полный поиск по шаблону (например, LIKE &#039;%поисковая_фраза%&#039;) в Microsoft SQL Server может быть медленным и неэффективным, поскольку гарантируется сканирование всех строк в таблице. Имеются ли какие-нибудь варианты оптимизации запросов с оператором SQL LIKE?&lt;br /&gt;
&lt;br /&gt;
Оптимизация независимого от регистра полного поиска по шаблону с начальным и конечным подстановочным знаком является проблемой в базах данных SQL - эти шаблоны LIKE не получают выгоды от индексирования. Здесь исследуются  потенциальные варианты оптимизации такого поиска и проверяются распространенные заблуждения.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/SQL-LIKE.html#extended&quot;&gt;Continue reading &quot;Оптимизация поиска при использовании SQL LIKE с подстановочными знаками&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 30 May 2026 23:09:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3399.html</guid>
    
</item>
<item>
    <title>Слишком много индексов — это сколько?</title>
    <link>https://sql-ex.ru/blogs/?/unknown.html</link>
            <category>Optimization</category>
            <category>T-SQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/unknown.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3381</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3381</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://www.brentozar.com/archive/2024/10/how-many-indexes-is-too-many/&quot;&gt;Brent Ozar. How Many Indexes Is Too Many?&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Давайте начнем с &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://www.brentozar.com/archive/2015/10/how-to-download-the-stack-overflow-database-via-bittorrent/&quot;&gt;базы данных Stack Overflow&lt;/a&gt; (будет работать версия любого размера), удалим все индексы на таблице Users и выполним DELETE:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;SET STATISTICS IO ON;&lt;br /&gt;
GO&lt;br /&gt;
BEGIN TRAN&lt;br /&gt;
DELETE dbo.Users WHERE DisplayName = N&#039;Brent Ozar&#039;;&lt;/pre&gt;&lt;br /&gt;
Я использую SET STATISTICS IO ON, о чем мы говорили в статье &lt;a class=&quot;let&quot; target=&quot;_blank&quot; href=&quot;https://sql-ex.ru/blogs/?/Kak_dumat_podobno_serveru_SQL_Server.html&quot;&gt;&quot;Как думать подобно серверу SQL Server&quot;&lt;/a&gt; для иллюстрации количества прочитанных данных, и я делаю это в транзакции, которую я могу периодически откатывать, каждый раз демонстрируя полученные эффекты. Вот действительный план выполнения:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/05/many_indexes_1.jpg&quot; /&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/unknown.html#extended&quot;&gt;Continue reading &quot;Слишком много индексов — это сколько?&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 17 May 2026 08:22:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3381.html</guid>
    
</item>
<item>
    <title>Настройка производительности в PostgreSQL 17: как обновления и VACUUM влияют на хранилище</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL-17-VACUUM.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL-17-VACUUM.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3372</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3372</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/@jramcloud1/09-postgresql-17-performance-tuning-how-updates-and-vacuum-affect-storage-05c656a5aadf&quot;&gt;Jeyaram Ayyalusamy. 09 - PostgreSQL 17 Performance Tuning: How Updates and VACUUM Affect Storage&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Модель хранения в PostgreSQL отличается от многих других баз данных. Вместо переписывания строки по месту, PostgreSQL создает новые версии строк при обновлении данных. Эта схема хороша для безопасности транзакций и параллелизма, но при этом влияет на размер таблицы и VACUUM приобретает важное значение для производительности.&lt;br /&gt;
&lt;br /&gt;
Давайте пошагово пройдем тестовый пример, чтобы увидеть, как это работает на практике.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/05/9_PG_17.webp&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Отключение autovacuum (только для тестирования)&lt;/h2&gt;&lt;br /&gt;
PostgreSQL обычно выполняет фоновый процесс, который называется autovacuum, для очистки мертвых кортежей и предотвращения раздувания таблиц.&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Для реальных приложений выключение autovacuum не рекомендуется, поскольку это критически важно для работоспособности базы данных.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Но в целях тестирования он может быть выключен для конкретной таблицы для гарантии, что ничего не будет происходить автоматически в фоновом режиме.&lt;/li&gt;&lt;/ul&gt; &lt;br /&gt;
Это позволяет нам в точности наблюдать, как PostgreSQL управляет хранилищем. &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL-17-VACUUM.html#extended&quot;&gt;Continue reading &quot;Настройка производительности в PostgreSQL 17: как обновления и VACUUM влияют на хранилище&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 10 May 2026 10:27:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3372.html</guid>
    
</item>
<item>
    <title>Понимание запросов списка процессов MySQL: руководство по мониторингу и оптимизации производительности</title>
    <link>https://sql-ex.ru/blogs/?/MySQL.html</link>
            <category>MySQL</category>
            <category>Optimization</category>
    
    <comments>https://sql-ex.ru/blogs/?/MySQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3370</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3370</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/@dmitry.romanoff/understanding-mysql-process-list-queries-a-guide-to-monitoring-and-optimizing-performance-4c4a1ca0e8c9&quot;&gt;Dmitry Romanoff. Understanding MySQL Process List Queries: A Guide to Monitoring and Optimizing Performance&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Таблица MySQL information_schema.processlist предоставляет большой объем информации о текущем состоянии сервера MySQL. Она важна для администраторов и разработчиков баз данных, чтобы мониторить эти данные для обеспечения оптимальной производительности и диагностики потенциальных проблем. В этой статье мы познакомимся с несколькими запросами MySQL, предназначенными для извлечения полезных идей из списка процессов, и обсудим, насколько они могут помочь нам в мониторинге и оптимизации сервера MySQL.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;1. Просмотр всех процессов&lt;/h2&gt;&lt;br /&gt;
Чтобы получить исчерпывающий обзор всех текущих процессов на сервере MySQL, вы можете использовать следующий запрос:&lt;br /&gt;
&lt;br /&gt;
&lt;pre lang=&quot;sql&quot;&gt;SELECT * FROM information_schema.processlist;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/MySQL.html#extended&quot;&gt;Continue reading &quot;Понимание запросов списка процессов MySQL: руководство по мониторингу и оптимизации производительности&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Thu, 07 May 2026 09:46:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3370.html</guid>
    
</item>
<item>
    <title>Настройка производительности PostgreSQL 17: индекс BRIN (Block Range INdex)</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL-17-BRIN-Block-Range-INdex.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL-17-BRIN-Block-Range-INdex.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3361</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3361</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/@jramcloud1/22-postgresql-17-performance-tuning-brin-block-range-index-e0a57a2f4645&quot;&gt;Jeyaram Ayyalusamy. 22 - PostgreSQL 17 Performance Tuning: BRIN (Block Range INdex)&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/04/brin_1.webp&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
При работе с очень большими таблицами в PostgreSQL традиционные индексы типа B-Tree или GiST могут чрезвычайно вырасти в размерах, что занимает значительное время на их обслуживание. Для временных рядов или последовательно упорядоченных данных PostgreSQL предлагает более разумный и облегченный вариант: BRIN (Block Range Index).&lt;br /&gt;
&lt;br /&gt;
Индексы BRIN группируют данные в диапазоны блоков вместо хранения отдельных записей строк, что делает их компактными, быстрыми в построении и эффективными для запросов на диапазон или упорядоченные данные.&lt;br /&gt;
&lt;br /&gt;
Давайте пошагово рассмотрим пример.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL-17-BRIN-Block-Range-INdex.html#extended&quot;&gt;Continue reading &quot;Настройка производительности PostgreSQL 17: индекс BRIN (Block Range INdex)&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 26 Apr 2026 08:43:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3361.html</guid>
    
</item>
<item>
    <title>Настройка производительности в PostgreSQL 17: Понимание параметров стоимости оптимизатора</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL-17.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL-17.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3339</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3339</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/@jramcloud1/32-postgresql-17-performance-tuning-understanding-optimizer-cost-parameters-670e0de45b4a&quot;&gt;Jeyaram Ayyalusamy. 32 - PostgreSQL 17 Performance Tuning: Understanding Optimizer Cost Parameters&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
PostgreSQL известна как одна из наиболее продвинутых реляционных баз данных с открытыми кодами, и одна из основных причин ее силы - &lt;strong&gt;оптимизатор запросов на основе стоимости&lt;/strong&gt;. &lt;br /&gt;
&lt;br /&gt;
Когда вы запускаете запрос, оптимизатор не выполняет его непосредственно. Он генерирует множество возможных планов выполнения и оценивает их стоимость. Выбирается план с самой низкой оценкой стоимости. Стоимость не измеряется в миллисекундах или циклах ЦП - она представляет собой абстрактные единицы, которые PostgreSQL использует для сравнения.&lt;br /&gt;
&lt;br /&gt;
Понимание этих параметров стоимости в PostgreSQL является существенным для настройки производительности, особенно тогда, когда дело касается больших таблиц и сложных запросов.&lt;br /&gt;
&lt;br /&gt;
В этой статье мы:&lt;br /&gt;
&lt;ol&gt;&lt;br /&gt;
&lt;li&gt;Создадим таблицу с 10 миллионами строк для имитации реальной рабочей нагрузки.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Создадим индексы, чтобы дать возможность PostgreSQL построить несколько планов выполнения.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Подробно разберем модель стоимости в PostgreSQL.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Покажем, как настройка параметров стоимости может изменить решение при выборе плана.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL-17.html#extended&quot;&gt;Continue reading &quot;Настройка производительности в PostgreSQL 17: Понимание параметров стоимости оптимизатора&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 30 Mar 2026 10:12:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3339.html</guid>
    
</item>
<item>
    <title>Подготовленные запросы (операторы) в PostgreSQL для начинающих</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3331</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3331</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://tomasz-gintowt.medium.com/postgresql-prepared-queries-statements-for-beginners-cf0338133f81&quot;&gt;Tomasz Gintowt. PostgreSQL Prepared Queries (Statements) For Beginners&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
Когда мы пишем запросы SQL, то часто выполняем один и тот же запрос снова и снова лишь меняя значения.&lt;br /&gt;
&lt;br /&gt;
PostgreSQL обладает функциональностью, которая помогает решить эту проблему, - подготовленные запросы (также называемые подготовленными операторами).&lt;br /&gt;
&lt;br /&gt;
В этой статье мы выясним:&lt;br /&gt;
&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;Что такое подготовленные запросы.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Чем они полезны.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Как их использовать в PostgreSQL.&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Реальные примеры, которые вы сами сможете опробовать.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
Никаких непонятных слов. Никакой сложной теории. Простые ясные примеры.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL.html#extended&quot;&gt;Continue reading &quot;Подготовленные запросы (операторы) в PostgreSQL для начинающих&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sun, 22 Mar 2026 07:47:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3331.html</guid>
    
</item>
<item>
    <title>Настройка производительности в PostgreSQL 17: понимание преполагаемого и действительного планов выполнения</title>
    <link>https://sql-ex.ru/blogs/?/PostgreSQL-17.html</link>
            <category>Optimization</category>
            <category>PostgreSQL</category>
    
    <comments>https://sql-ex.ru/blogs/?/PostgreSQL-17.html#comments</comments>
    <wfw:comment>https://sql-ex.ru/blogs/wfwcomment.php?cid=3327</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://sql-ex.ru/blogs/rss.php?version=2.0&amp;type=comments&amp;cid=3327</wfw:commentRss>
    

    <author>nospam@example.com (Sergey Moiseenko)</author>
    <content:encoded>
    &lt;p style=&quot;margin: 0px 25px; font-size: 9pt;&quot;&gt;Пересказ статьи &lt;a class=&quot;let&quot; href=&quot;https://medium.com/@jramcloud1/29-postgresql-17-performance-tuning-understanding-estimates-vs-actuals-in-query-plans-91e7eccbc51a&quot;&gt;Jeyaram Ayyalusamy. 29 - PostgreSQL 17 Performance Tuning: Understanding Estimates vs. Actuals in Query Plans&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;img src=&quot;https://sql-ex.ru/blogs/wp-content/uploads/2026/03/ex_plans_1.webp&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Настройка производительности в PostgreSQL часто сводится к единственному навыку: умению читать планы выполнения. Команда PostgreSQL EXPLAIN ANALYZE - главный инструмент для этого. Она показывает не только то, как выполняется запрос, но и то, чего ожидал оптимизатор PostgreSQL, и что произошло на самом деле.&lt;br /&gt;
&lt;br /&gt;
При просмотре плана выполнения вы всегда должны задать себе два больших вопроса:&lt;br /&gt;
&lt;ol&gt;&lt;br /&gt;
&lt;li&gt;Оправданы ли временные параметры, указанные в выводе команды EXPLAIN ANALYZE, для данного запроса?&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;В каком месте происходит внезапный скачок времени выполнения?&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;
Места этих скачков в плане выполнения часто обнаруживают точный узел или операцию, которая замедляет ваш запрос.&lt;br /&gt;
 &lt;a class=&quot;block_level&quot; href=&quot;https://sql-ex.ru/blogs/?/PostgreSQL-17.html#extended&quot;&gt;Continue reading &quot;Настройка производительности в PostgreSQL 17: понимание преполагаемого и действительного планов выполнения&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Mon, 16 Mar 2026 09:46:00 +0300</pubDate>
    <guid isPermaLink="false">https://sql-ex.ru/blogs/?/3327.html</guid>
    
</item>

</channel>
</rss>
