SQL function inlining
От | John D. Burger |
---|---|
Тема | SQL function inlining |
Дата | |
Msg-id | 952C7930-9190-4AC8-B657-CA8D809F45B9@mitre.org обсуждение исходный текст |
Ответы |
Re: SQL function inlining
|
Список | 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 по дате отправления: