Re: Poor plan choice in prepared statement

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Poor plan choice in prepared statement
Дата
Msg-id b42b73150812301142w4483978ahfb819b0313150dbb@mail.gmail.com
обсуждение исходный текст
Ответ на Poor plan choice in prepared statement  (bricklen <bricklen@gmail.com>)
Ответы Re: Poor plan choice in prepared statement
Re: Poor plan choice in prepared statement
Список pgsql-performance
On Tue, Dec 30, 2008 at 1:59 PM, bricklen <bricklen@gmail.com> wrote:
> Hi, I am re-posting my question here after trying to find a solution
> in the PHP pgsql list with no luck.
>
> I am experiencing some performance issues that I think are stemming
> from prepared statements. I have a pretty simple query:
> -- bad plan, from prepared statement
> --
> dev=# prepare fooplan (date,date,int,int) as
> dev-# SELECT cl.idOffer AS campaign, cl.idAffiliate AS affiliate,
> cl.idCreative AS creative, cl.subid, cl.datetime
> dev-# FROM click AS cl LEFT JOIN conversion AS co ON cl.clickGenerated
> = co.clickGenerated
> dev-# WHERE cl."date" >= $1
> dev-# AND cl."date" <= $2
> dev-# AND cl.idAffiliate = $3
> dev-# LIMIT $4;

Your problem is that the query as written is hard to plan.  The
database has no idea what you pass in, it has to guess.  (IMO, It
almost always guesses wrong...I think it should assume 1 row
returned).  Also, the db has no idea what you want to pass in at plan
time for date.

what indexes do you have on click?

merlin

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

Предыдущее
От: bricklen
Дата:
Сообщение: Poor plan choice in prepared statement
Следующее
От: bricklen
Дата:
Сообщение: Re: Poor plan choice in prepared statement