Re: Improving a simple query?

От: Hannu Krosing
Тема: Re: Improving a simple query?
Дата: ,
Msg-id: 1058140707.19113.0.camel@fuji.krosing.net
(см: обсуждение, исходный текст)
Ответ на: Re: Improving a simple query?  (Steve Wampler)
Список: pgsql-performance

Скрыть дерево обсуждения

Improving a simple query?  (Steve Wampler, )
 Re: Improving a simple query?  ("Richard Huxton", )
  Re: Improving a simple query?  (Steve Wampler, )
   Re: Improving a simple query?  (Hannu Krosing, )
   Re: Improving a simple query?  (, )
   Re: Improving a simple query?  (Chris Bowlby, )
    Re: Improving a simple query?  (Chris Bowlby, )
 Re: Improving a simple query?  (, )

Steve Wampler kirjutas P, 13.07.2003 kell 23:46:
> On Sun, Jul 13, 2003 at 08:09:17PM +0100, Richard Huxton wrote:
> > > I'm not an SQL or PostgreSQL expert.
> > >
> > > I'm getting abysmal performance on a nested query and
> > > need some help on finding ways to improve the performance:
> > [snip]
> > >  select * from attributes_table where id in (select id from
> > >       attributes where (name='obsid') and (value='oid00066'));
> >
> > This is the classic IN problem (much improved in 7.4 dev I believe). The
> > recommended approach is to rewrite the query as an EXISTS form if
> > possible. See the mailing list archives for plenty of examples.
> >
> > Could you not rewrite this as a simple join though?
>
> Hmmm, I don't see how.  Then again, I'm pretty much the village
> idiot w.r.t. SQL...
>
> The inner select is locating a set of (2049) ids (actually from
> the same table, since 'attributes' is just a view into
> 'attributes_table').  The outer select is then locating all
> records (~30-40K) that have any of those ids.  Is that really
> something a JOIN could be used for?

There may be some subtle differences, but most likely the 'join' form
wis like this:

select at.*
  from attributes_table at,
       attributes a
 where at.id = a.id
   and a.name='obsid'
   and a.value='oid00066'

--------------
Hannu



В списке pgsql-performance по дате сообщения:

От: Rudi Starcevic
Дата:
Сообщение: Re: How to configure the postgresql.conf files
От: Shridhar Daithankar
Дата:
Сообщение: Re: Pgsql - Red Hat Linux - VS MySQL VS MSSQL