Re: Multicolumn index for single-column queries? - Mailing list pgsql-general

From Ron
Subject Re: Multicolumn index for single-column queries?
Date
Msg-id 59f265b2-192a-33cd-7b18-d93c068e83e3@gmail.com
Whole thread Raw
In response to Re: Multicolumn index for single-column queries?  (Andreas Kretschmer <andreas@a-kretschmer.de>)
Responses Re: Multicolumn index for single-column queries?  (Gavin Flower <GavinFlower@archidevsys.co.nz>)
List pgsql-general
On 4/18/19 2:14 AM, Andreas Kretschmer wrote:


Am 18.04.19 um 08:52 schrieb rihad:
Hi. Say there are 2 indexes:

    "foo_index" btree (foo_id)

    "multi_index" btree (foo_id, approved, expires_at)


foo_id is an integer. Some queries involve all three columns in their WHERE clauses, some involve only foo_id.
Would it be ok from general performance standpoint to remove foo_index and rely only on multi_index? I know that
PG would have to do less work updating just one index compared to updating them both, but wouldn't searches
on foo_id alone become slower?

it depends .

it depends on the queries you are using, on your workload. a multi-column-index will be large than an index over just one column,
therefore you will have more disk-io when you read from such an index.

But two indexes are larger than one index, and updating two indexes requires more disk IO than updating one index.

(Prefix compression would obviate the need for this question.  Then your multi-column index would be much smaller.)


--
Angular momentum makes the world go 'round.

pgsql-general by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: Multicolumn index for single-column queries?
Next
From: Gavin Flower
Date:
Subject: Re: Multicolumn index for single-column queries?