Re: select query does not pick up the right index
От | Abadie Lana |
---|---|
Тема | Re: select query does not pick up the right index |
Дата | |
Msg-id | 9036cbbff60c4fbe978e4a1b825feca0@iter.org обсуждение исходный текст |
Ответ на | Re: select query does not pick up the right index (David Rowley <david.rowley@2ndquadrant.com>) |
Список | pgsql-performance |
Oups wrong copy and paste. I did run your query with equal instead of in but it resulted in the same plan
From: David Rowley <david.rowley@2ndquadrant.com>
Sent: 09 January 2019 17:41:24
To: Abadie Lana
Cc: Justin Pryzby; pgsql-performance@lists.postgresql.org
Subject: Re: select query does not pick up the right index
Sent: 09 January 2019 17:41:24
To: Abadie Lana
Cc: Justin Pryzby; pgsql-performance@lists.postgresql.org
Subject: Re: select query does not pick up the right index
On Thu, 10 Jan 2019 at 01:55, Abadie Lana <Lana.Abadie@iter.org> wrote:
> The other query suggested by D.Rowley has the same issue : still swap activity is higher.
> explain analyze select 'BUIL-B36-VA-RT-RT1:CL0001-2-ABW', c.smpl_time,c.nanosecs,c.float_val,c.num_val,c.str_val,c.datatype,c.array_val from sample c where c.channel_id in (select channel_id from channel where name ='BUIL-B36-VA-RT-RT1:CL0001-2-ABW') order by c.smpl_time desc limit 5;
This is not the query I suggested. I mentioned if channel.name had a
unique index, you'd be able to do WHERE c.channel_id = (select
channel_id from channel where name = '...'). That's pretty different
to what you have above.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
> The other query suggested by D.Rowley has the same issue : still swap activity is higher.
> explain analyze select 'BUIL-B36-VA-RT-RT1:CL0001-2-ABW', c.smpl_time,c.nanosecs,c.float_val,c.num_val,c.str_val,c.datatype,c.array_val from sample c where c.channel_id in (select channel_id from channel where name ='BUIL-B36-VA-RT-RT1:CL0001-2-ABW') order by c.smpl_time desc limit 5;
This is not the query I suggested. I mentioned if channel.name had a
unique index, you'd be able to do WHERE c.channel_id = (select
channel_id from channel where name = '...'). That's pretty different
to what you have above.
--
David Rowley http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-performance по дате отправления: