pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Mattias Kregert <mattias@kregert.se>
To: Steinar H. Gunderson <sgunderson@bigfoot.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Strange plan in pg 8.1.0
Date: Mon, 30 Oct 2006 15:26:09 +0100
Message-ID: <003301c6fc2f$57e2c660$09000a0a@kregert.se> (raw)
References: <200610301205.08087.mattias@kregert.se>
	<20061030122733.GA6357@uio.no>

>>> From: "Steinar H. Gunderson" <sgunderson@bigfoot.com>
> On Mon, Oct 30, 2006 at 01:05:07PM +0200, Mattias Kregert wrote:
>>          ->  Hash Left Join  (cost=59.66..206763.11 rows=1215336 
>> width=27) (actual time=4.959..3228.550 rows=1216434 loops=1)
>>                Hash Cond: (("outer".prislista = ("inner".listid)::text) 
>> AND ("outer".tjanst = ("inner".tjanstid)::text))
>
> Note the conversion to text here. Are you sure the types are matching on 
> both
> sides of the join?
>
> /* Steinar */

On the left side it is text, and on the right side it is varchar(10).
Casting left side to varchar(10) does not help, in fact it makes things even 
worse: The cast to ::text vanishes in a puff of logic, but the plan gets 
bigger and even slower (20-25 seconds).

A RIGHT join takes only 20 milliseconds, but i want the left join because 
there could be missing rows in the "prislist" table...

/* m */



view thread (6+ messages)  latest in thread

Message-ID: <003301c6fc2f$57e2c660$09000a0a@kregert.se>
Permalink:  ../003301c6fc2f$57e2c660$09000a0a@kregert.se/
Also on:    postgresql.org/message-id/003301c6fc2f$57e2c660$09000a0a@kregert.se

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: mattias@kregert.se, sgunderson@bigfoot.com
  Subject: Re: Strange plan in pg 8.1.0
  In-Reply-To: <003301c6fc2f$57e2c660$09000a0a@kregert.se>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox