SQL function inlining

Поиск
Список
Период
Сортировка
От John D. Burger
Тема SQL function inlining
Дата
Msg-id 952C7930-9190-4AC8-B657-CA8D809F45B9@mitre.org
обсуждение исходный текст
Ответы Re: SQL function inlining  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
I'm having trouble figuring out when (if) the planner inlines sql
functions (I'm running 7.4).  I was assuming that pure sql functions
are kind of like views with parameters, but I can't seem to see any
cases where functions that select from a table get inlined.  For
instance:

create function login_count (integer) returns bigint
   language sql stable as
   'select count(*) from logins where user_id = $1;';

# explain select user_id, login_count(user_id) from users;
                           QUERY PLAN
--------------------------------------------------------------
Seq Scan on users  (cost=0.00..15418.36 rows=480189 width=4)

I'd hoped this would turn into a join on the logins and users tables,
but no joy.  Are there any circumstances (in 7.4) where such
functions get inlined?

Thanks.

- John Burger
   MITRE

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

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: Some newbie question
Следующее
От: Tom Lane
Дата:
Сообщение: Re: SQL function inlining