Re: why we do not create indexes on master

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Valerii Valeev <valerii(dot)valeev(at)mail(dot)ru>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: why we do not create indexes on master
Date: 2016-12-27 17:48:26
Message-ID: CAKFQuwZYxanUAS4BpvDTui7NtgUGA-uL2oGyt1OboYhFLRy1_w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Tue, Dec 27, 2016 at 10:38 AM, Valerii Valeev <valerii(dot)valeev(at)mail(dot)ru>
wrote:

> Thank you David,
>
> I used same rationale to convince my colleague — it didn’t work :)
> Sort of “pragmatic” person who does what seems working no matter what
> happens tomorrow.
> So I’m seeking for better understanding of what's happening to have other
> cause to convince him.
>
> Let me break it down once again. The experience is as follows:
>
> - partitioning follows the guide
>

​Only somewhat helpful...

> - master empty, no indexes
> - child tables have index on field “field”
> - query like
> SELECT * FROM “master” WHERE “field” BETWEEN ‘1' AND ‘2’
> takes more than 100 sec
>

​All retrieved data now exists in cache/buffers...

> - after that my mate adds index on “master”(“field”) — again, all data is
> in child tables
> - same query takes under 1sec
>

​As ​Andreas said if you really want to explore what is happening here you
need to use EXPLAIN ANALYZE.

Given the flow described above I/O retrieval performance differences, or
the attempt to query the table kicking off an ANALYZE, seems like possible
contributing factors.

> Questions I’d love to clarify:
>
> - Q1: is it correct that described situation happens because index created
> on master does account data that is already there in child?
>

​No

> - Q2: is it correct that index on master created before inserting record
> to child tables will not take into account this record?
>

Yes

> - Q3: are there any other bad sides of indexes on master table?
>

No​

David J.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Flávio Henrique 2016-12-27 23:50:05 Slow query after 9.3 to 9.6 migration
Previous Message ProPAAS DBA 2016-12-27 17:43:24 Re: why we do not create indexes on master