Re: Make the qual cost on index Filter slightly higher than qual coston index Cond. - Mailing list pgsql-hackers

From Andy Fan
Subject Re: Make the qual cost on index Filter slightly higher than qual coston index Cond.
Date
Msg-id CAKU4AWqZ+Z4FEGZavtbGx0_q18so44N=PcvsprSjDUVtcJEkkA@mail.gmail.com
Whole thread Raw
In response to Re: Make the qual cost on index Filter slightly higher than qual coston index Cond.  (Andy Fan <zhihui.fan1213@gmail.com>)
Responses Re: Make the qual cost on index Filter slightly higher than qual coston index Cond.
List pgsql-hackers
You can use the attached sql to reproduce this issue, but I'm not sure you can
get the above result at the first time that is because when optimizer think the 
2 index scan have the same cost, it will choose the first one it found, the order
depends on RelationGetIndexList.  If so,  you may try drop and create j1_i_im5 index.

The sense behind this patch is we still use the cost based optimizer, just when we 
we find out the 2 index scans have the same cost,  we prefer to use the index which
have more qual filter on Index Cond.  This is implemented by adjust the qual cost 
on index filter slightly higher. 

The issue here is not so uncommon in real life.  consider a log based application, which
has serval indexes on with create_date as a leading column,  when the create_date
first load the for the given day but before the new statistics is gathered, that probably run
into this issue. 

--
Best Regards
Andy Fan
Attachment

pgsql-hackers by date:

Previous
From: Andy Fan
Date:
Subject: Re: Make the qual cost on index Filter slightly higher than qual coston index Cond.
Next
From: Mark Dilger
Date:
Subject: New 'pg' consolidated metacommand patch