powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как посмотреть план запроса внутри функции
9 сообщений из 9, страница 1 из 1
Как посмотреть план запроса внутри функции
    #34353224
postuser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как посмотреть план запроса внутри функции?
Код: plaintext
1.
EXPLAIN ANALYZE SELECT * FROM public.funct_pivot('2007-03-01'::date);
выдает без детализации
Код: plaintext
1.
2.
3.
4.
5.
QUERY PLAN                            
-------------------------------------------------------------------------                 
Function Scan on funct_pivot  (cost= 0 . 00 .. 12 . 50  rows= 1000  width= 596 ) (actual time= 7589 . 434 .. 7589 . 881  rows= 197  loops= 1 )                  
Total runtime:  7591 . 047  ms   
( 2  rows)
...
Рейтинг: 0 / 0
Как посмотреть план запроса внутри функции
    #34354667
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
postuserКак посмотреть план запроса внутри функции?
Код: plaintext
1.
EXPLAIN ANALYZE SELECT * FROM public.funct_pivot('2007-03-01'::date);
выдает без детализации
Код: plaintext
1.
2.
3.
4.
5.
QUERY PLAN                            
-------------------------------------------------------------------------                 
Function Scan on funct_pivot  (cost= 0 . 00 .. 12 . 50  rows= 1000  width= 596 ) (actual time= 7589 . 434 .. 7589 . 881  rows= 197  loops= 1 )                  
Total runtime:  7591 . 047  ms   
( 2  rows)

И с детализацией не выдаст :)

На сегодняшний момент способов посмотреть план выполнения функции нет.
...
Рейтинг: 0 / 0
Как посмотреть план запроса внутри функции
    #34355649
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey Daeron postuserКак посмотреть план запроса внутри функции?
Код: plaintext
1.
EXPLAIN ANALYZE SELECT * FROM public.funct_pivot('2007-03-01'::date);
выдает без детализации
Код: plaintext
1.
2.
3.
4.
5.
QUERY PLAN                            
-------------------------------------------------------------------------                 
Function Scan on funct_pivot  (cost= 0 . 00 .. 12 . 50  rows= 1000  width= 596 ) (actual time= 7589 . 434 .. 7589 . 881  rows= 197  loops= 1 )                  
Total runtime:  7591 . 047  ms   
( 2  rows)

И с детализацией не выдаст :)

На сегодняшний момент способов посмотреть план выполнения функции нет.

Такс.... помоемму хороший кандидат для фака. Andrey Daeron не возражаете, если я ваш ответ от своего именни в фак поплагиачу? :-)
...
Рейтинг: 0 / 0
Как посмотреть план запроса внутри функции
    #34355730
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jelis
Такс.... помоемму хороший кандидат для фака. Andrey Daeron не возражаете, если я ваш ответ от своего именни в фак поплагиачу? :-)
Возражаю!!!

А если серьезно - нет, конечно. Главное, что бы люди читали и хоть кому-то помогло.
...
Рейтинг: 0 / 0
Как посмотреть план запроса внутри функции
    #34356800
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrey Daeron postuserКак посмотреть план запроса внутри функции?
Код: plaintext
1.
EXPLAIN ANALYZE SELECT * FROM public.funct_pivot('2007-03-01'::date);
выдает без детализации
Код: plaintext
1.
2.
3.
4.
5.
QUERY PLAN                            
-------------------------------------------------------------------------                 
Function Scan on funct_pivot  (cost= 0 . 00 .. 12 . 50  rows= 1000  width= 596 ) (actual time= 7589 . 434 .. 7589 . 881  rows= 197  loops= 1 )                  
Total runtime:  7591 . 047  ms   
( 2  rows)

И с детализацией не выдаст :)

На сегодняшний момент способов посмотреть план выполнения функции нет.
Ну самой функции - нет, а параметризированных запросов внутри функции, - таки да.
Копать в сторону PREPARE; EXECUTE.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как посмотреть план запроса внутри функции
    #36368052
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Способ есть, правда не совсем тривиальный: нужно слегка подкорячить исходники и установить postgres из них. Источник .

А использовать просто:
Код: plaintext
set debug_explain_plan=true;

Не уверен, что это хорошее решение для производственных баз, но для разработчиков вполне сойдет.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как посмотреть план запроса внутри функции
    #40133551
Кесарь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ales Protiv,

подскажите, а как это использовать? Делать просто "эксплейн селект функция" и будет детализированный план или как-то иначе?
...
Рейтинг: 0 / 0
Как посмотреть план запроса внутри функции
    #40133707
Misha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кесарь,

Ales Protiv давно тут не появляется. я так понимаю в его предложении нужно пересобрать пг с исправленными исходниками.

кажется есть плагины которые сохраняют планы. погуглите.

почему просто не выковырять запрос из ф-ии и посмотреть план?

фак говорит что
11.
Q. Как посмотреть план запроса внутри функции?
A. На сегодняшний момент способов посмотреть план выполнения функции нет.
...
Рейтинг: 0 / 0
Как посмотреть план запроса внутри функции
    #40133758
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
load 'auto_explain';
set auto_explain.log_nested_statements = ON;
set auto_explain.log_level to INFO;
set auto_explain.log_timing to ON;
set auto_explain.log_analyze to ON;
set auto_explain.log_buffers to ON;
set auto_explain.log_min_duration to '100ms';
explain (analyze,buffers) select ...


и будут планы нижележащих запросов
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как посмотреть план запроса внутри функции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]