Глава 10. Повышение производительности
10.2. Методы просмотра таблиц
Теперь мы можем перейти к рассмотрению планов выполнения запросов.
Прежде чем приступить к непосредственному выполнению запроса, PostgreSQL фор-
мирует
план его выполнения. Чтобы достичь хорошей производительности, этот план
должен учитывать свойства данных. Планированием занимается специальная под-
система — планировщик (planner). Просмотреть план выполнения любого запроса
можно с помощью команды EXPLAIN. Для детального понимания планов выполне-
ния сложных запросов требуется опыт. Мы изложим лишь основные приемы работы
с этой командой.
Структура плана запроса представляет собой дерево, состоящее из так называемых
узлов плана
(plan nodes). Узлы на нижних уровнях дерева отвечают за просмотр и вы-
дачу строк таблиц, которые осуществляются с помощью методов доступа, описанных
выше. Если конкретный запрос требует выполнения операций агрегирования, соеди-
нения таблиц, сортировки, то над узлами выборки строк будут располагаться допол-
нительные узлы дерева плана. Например, для соединения наборов строк будут ис-
пользоваться способы, которые мы только что рассмотрели. Для каждого узла дерева
плана команда EXPLAIN выводит по одной строке, при этом выводятся также оцен-
ки стоимости выполнения операций на каждом узле, которые делает планировщик.
В случае необходимости для конкретных узлов могут выводиться дополнительные
строки. Самая первая строка плана содержит общую оценку стоимости выполнения
данного запроса.
Запустите утилиту psql и введите простой запрос:
Достарыңызбен бөлісу: