Re: trigger SPI_exec count argument

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: trigger SPI_exec count argument
Дата
Msg-id 2517.1251901259@sss.pgh.pa.us
обсуждение исходный текст
Ответ на trigger SPI_exec count argument  (Michael Nacos <m.nacos@gmail.com>)
Ответы Re: trigger SPI_exec count argument  (Michael Nacos <m.nacos@gmail.com>)
Список pgsql-hackers
Michael Nacos <m.nacos@gmail.com> writes:
> I have been trying to improve the performance of a C trigger only to notice
> that the real bottleneck was the SPI execution of dynamic SQL statements. I
> had been using SPI_exec(sql,0) until I tried SPI_exec(sql,1), since I am
> targeting exactly one row each time for writing. This simple change has made
> a huge difference (2s --> 60ms in some cases), now the trigger execution
> time is consistent with the response times I get if I run the same SQL
> statements by hand in psql. I am happy my code performs better, but is this
> something you would expect?

With no details that's an unanswerable question.

SPI_exec doesn't appear to consider the count while forming the query
plan, which was my first thought.  But I have seen queries in which
the first row is returned quickly but searching for additional rows
takes a long time, even if there aren't any additional rows.  It's
not clear though why that wouldn't apply to hand execution.  Have
you tried comparing EXPLAIN ANALYZE outputs?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: Linux LSB init script
Следующее
От: Andrew Dunstan
Дата:
Сообщение: Re: Linux LSB init script