Re: slow index scan performance

From: Soni M <diptatapa(at)gmail(dot)com>
To: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: slow index scan performance
Date: 2017-09-05 13:58:53
Message-ID: CAAMgDXmKSft+K3tNb5NGOghuYgrKaeoQ7dF65Xw8Y1Z40+XjfA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Trying on another server, it gives different result.

-> Index Scan using response_log_by_activity on public.response_log rl2
(cost=0.00..50.29 rows=17 width=8) (actual time=0.955..0.967 rows=0
loops=30895)
Output: rl2.activity_id, rl2.feed_id
Index Cond: (rl2.activity_id =
rl.activity_id)
Filter: rl2.success
Buffers: shared hit=2311312
read=132342
-> Index Scan using activity_pkey on
public.activity a (cost=0.00..49.79 rows=1 width=12) (actual
time=13.747..13.762 rows=1 loops=30892)
Output: a.status_id, a.activity_id,
a.visit_id
Index Cond: (a.activity_id =
rl.activity_id)
Buffers: shared hit=124463 read=30175

Now, index scan on activity_pkey which take much slower. Can someone please
explain these ?

Thanks

On Tue, Sep 5, 2017 at 8:46 PM, Soni M <diptatapa(at)gmail(dot)com> wrote:

> It's Postgres 9.1.24 on RHEL 6.5
>
> On Tue, Sep 5, 2017 at 8:24 PM, Soni M <diptatapa(at)gmail(dot)com> wrote:
>
>> Consider these 2 index scan produced by a query
>>
>> -> Index Scan using response_log_by_activity on public.response_log rl2
>> (cost=0.00..51.53 rows=21 width=8) (actual time=9.017..9.056 rows=0
>> loops=34098)
>> Output: rl2.activity_id,
>> rl2.feed_id
>> Index Cond: (rl2.activity_id =
>> rl.activity_id)
>> Filter: rl2.success
>> Buffers: shared hit=3357159
>> read=153313
>> -> Index Scan using activity_pkey on
>> public.activity a (cost=0.00..51.10 rows=1 width=12) (actual
>> time=0.126..0.127 rows=1 loops=34088)
>> Output: a.status_id, a.activity_id,
>> a.visit_id
>> Index Cond: (a.activity_id =
>> rl.activity_id)
>> Buffers: shared hit=137925 read=32728
>>
>>
>> And it's size
>>
>> conscopy=# select pg_size_pretty(pg_relation_siz
>> e('response_log_by_activity'::regclass));
>> pg_size_pretty
>> ----------------
>> 7345 MB
>> (1 row)
>>
>> conscopy=# select pg_size_pretty(pg_relation_siz
>> e('activity_pkey'::regclass));
>> pg_size_pretty
>> ----------------
>> 8110 MB
>> (1 row)
>>
>> Index scan on response_log_by_activity is far slower. The table has just
>> been repacked, and index rebuilt, but still slow.
>>
>> Is there any other way to make it faster ?
>>
>> Why Buffers: shared hit=3,357,159 read=153,313 on
>> response_log_by_activity is much bigger than Buffers: shared hit=137925
>> read=32728 on activity_pkey while activity_pkey size is bigger ?
>>
>> --
>> Regards,
>>
>> Soni Maula Harriz
>>
>
>
>
> --
> Regards,
>
> Soni Maula Harriz
>

--
Regards,

Soni Maula Harriz

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message George Neuner 2017-09-05 14:23:14 Re: printing results of query to file in different times
Previous Message Soni M 2017-09-05 13:46:14 Re: slow index scan performance