Re: Simple query: how to optimize

Поиск
Список
Период
Сортировка
От Steinar H. Gunderson
Тема Re: Simple query: how to optimize
Дата
Msg-id 20051029001224.GA6611@uio.no
обсуждение исходный текст
Ответ на Re: Simple query: how to optimize  ("Roger Hand" <RHand@kailea.com>)
Список pgsql-performance
On Fri, Oct 28, 2005 at 03:40:40PM -0700, Roger Hand wrote:
> You're first joining against the entire user table, then filtering out the users
> you don't need.

That's just wrong, sorry -- the planner is perfectly able to push the WHERE
down before the join.

I'd guess the problem is the age() query; age() doesn't really return what
you'd expect, and I don't think it can use an index easily (I might be wrong
here, though). Instead, try something like

  WHERE u.joined_date >= current_date - interval '30 days'

except that if you're running pre-8.0, you might want to precalculate the
right-hand side on the client.

I couldn't see EXPLAIN ANALYZE of your query, BTW -- having it would be
useful.

/* Steinar */
--
Homepage: http://www.sesse.net/

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

Предыдущее
От: Collin Peters
Дата:
Сообщение: Re: Simple query: how to optimize
Следующее
От: "PostgreSQL"
Дата:
Сообщение: Re: Simple query: how to optimize