72 похожих чатов

Подскажите плз, в постгресе есть explain analyze - выводит реальный

план запроса. Но как я понял из прочитанного на postgrespro, то explain analyze выполняет запрос для того, чтобы отдать план запроса. Я не понимаю вот что, если запрос будет ресурсоёмкий, то не повредит ли текущей производительности сервера (как я понимаю это делается прям на бою)? Или нет такого запроса, выполнив который, сервер ощутимо напряжётся? Может кто-нибудь вкратце пояснить как это обычно применяется?

15 ответов

8 просмотров

Кажется там есть два варианта этой команды, с и без выполнения

EXPLAIN - покажет просто, как планировщик оценивает прохождение узлов. EXPLAIN ANALYZE - запрос выполнится на самом деле и пройдет все узлы. Так же показывает доп статистику.

Alexey-Dronov Автор вопроса
Denis
EXPLAIN - покажет просто, как планировщик оценивае...

Да, понимаю. Мне вот интересно analyze реально выполняет запрос. А такая работа может как-то ощутимо нагрузить сервер (особенно если анализируются несколько запросов)?

https://postgrespro.ru/docs/postgresql/9.6/sql-explain С параметром ANALYZE оператор будет выполнен на самом деле, а не только запланирован. При этом в вывод добавляются фактические сведения о времени выполнения, включая общее время, затраченное на каждый узел плана (в миллисекундах) и общее число строк, выданных в результате. Это помогает понять, насколько близки к реальности предварительные оценки планировщика.

Alexey Dronov
Да, понимаю. Мне вот интересно analyze реально вып...

Да, талантливый запрос выполнится и может нормально нагрузить систему.

Alexey-Dronov Автор вопроса
Alexey Dronov
Да, её и читал

А чего тогда спрашиваешь?

Alexey-Dronov Автор вопроса
Ilya Zviagin
А чего тогда спрашиваешь?

я спрашиваю именно про analyze. Denis как раз ответил на мой вопрос

Alexey Dronov
Да, понимаю. Мне вот интересно analyze реально вып...

Может конечно. Про несколько запросов - не понятно, поскольку explain не может несколько запросов обрабатывать

Alexey-Dronov Автор вопроса
Denis
Да, талантливый запрос выполнится и может нормальн...

Спасибо. Я почему спрашиваю. Начал тестером-нагрузчиком работать и мне сказали почитать на тему планов запроса в постгресе. И вот я думаю, когда мне нужно будет анализировать план запроса, то наверняка придётся использовать analyze. И если это можно будет делать только на бою, то это ведь может быть чревато? Хотя наверное будет использоваться какой-нибудь тестовый стен

Alexey-Dronov Автор вопроса
Ilya Zviagin
Может конечно. Про несколько запросов - не понятн...

ага, а если один запрос посмотрели, а потом на очереди ещё несколько нужно будет, значит по очереди запускать... как я понимаю

Повредит. Но если нужны реальные результаты — то деваться некуда.

Alexey Dronov
Спасибо. Я почему спрашиваю. Начал тестером-нагруз...

. И вот я думаю, когда мне нужно будет анализировать план запроса, то наверняка придётся использовать analyze. Нет, вовсе не обязательно И если это можно будет делать только на бою, то это ведь может быть чревато? Может Хотя наверное будет использоваться какой-нибудь тестовый стен Можно и так

Alexey Dronov
Спасибо. Я почему спрашиваю. Начал тестером-нагруз...

> то наверняка придётся использовать analyze Да, придётся. Без ANALYZE (и дополнительных опций уже для него) анализировать планы обычно практически бесполезно (разве что нет другого выхода, например когда запрос "зависает", т.е. выполнялся бы несколько часов/дней). > то это ведь может быть чревато? Может, а что поделаешь... но для примерного / предварительного анализа лучше работать на тестовом кластере баз, да. > Хотя наверное будет использоваться какой-нибудь тестовый стен Дело в том, что при использовании исключительно тестового стенда есть риск "оптимизировать" запрос именно под него, а в реальности всё будет наоборот ("на бою" от этих изменений станет только хуже).

Похожие вопросы

Обсуждают сегодня

коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Добрый день, коллеги, подскажите пожалуйста, есть ли кто-то тут, или у кого знакомые Senior / Lead C++, в идеале бы еще с QT с опытом или желанием работать с десктопом? Или эт...
🐈
5
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Всем привет, подскажите где можно найти фриланс работы?
Вадим
7
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Qt Widgets или Qt Quick?
Michael
6
Добрый день! Подскажите, пожалуйста: какими компетенциями нужно обладать, чтобы претендовать на работу эрланг (отдельная благодарность, если про элексир тоже подскажете) разр...
via ☸️ led
20
Карта сайта