Re: Interesting speed anomaly

Поиск
Список
Период
Сортировка
От Gavin Sherry
Тема Re: Interesting speed anomaly
Дата
Msg-id Pine.LNX.4.58.0512150902400.17379@linuxworld.com.au
обсуждение исходный текст
Ответ на Re: Interesting speed anomaly  (Gavin Sherry <swm@linuxworld.com.au>)
Ответы Re: Interesting speed anomaly  (Zoltan Boszormenyi <zboszor@dunaweb.hu>)
Список pgsql-hackers
On Thu, 15 Dec 2005, Gavin Sherry wrote:

> On Wed, 14 Dec 2005, Zoltan Boszormenyi wrote:
>
> > Tom Lane írta:
> >
> > >Zoltan Boszormenyi <zboszor@dunaweb.hu> writes:
> > >
> > >
> > >>$ time echo "select * from v_invoice_browse where code||inv_no = 'CARO200000020'" | dbaccess db
> > >>
> > >>
> > >
> > >
> > >
> > >>Is there a way to speed this operation up?
> > >>
> > >>
> > >
> > >Make an expression index on "code||inv_no", if you think this case is
> > >important enough to be worth maintaining an extra index for.
> > >
> > >(This is not on-topic for -hackers, IMHO.  Try pgsql-perform.)
> > >
> > >            regards, tom lane
> > >
> > >
> > >
> >
> > Thanks for both the hint and the pointer to the mailing list.
> > My problem is, I can't see how could I create any index on a view.
> > PostgreSQL refuses it:
> >
> > create index iinvbrowse1 on v_invoice_browse ((code||inv_no));
> > ERROR:  "v_invoice_browse" is not a table
> >
> > Creating indexes on the 12 invoice tables, like this:
> >
> > create index iinvoice1 on invoice1 (('PREFIX'||id));
>
> Are you creating the index on (core || id) on on the string 'PREFIX' or
> some other literal?

Sorry, I sent this email instead of cancelling it. I take it 'code' is a
string generated by the query, for example: "select 'CAR' as code,* from
cars ...."? If so, it seems strange that we do not use the expressional
index. Could you send the output of explain analyze?

Thanks,

Gavin


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

Предыдущее
От: Gavin Sherry
Дата:
Сообщение: Re: Interesting speed anomaly
Следующее
От: Zoltan Boszormenyi
Дата:
Сообщение: Re: Interesting speed anomaly