From: | Hadley Willan <hadley(dot)willan(at)deeperdesign(dot)co(dot)nz> |
---|---|
To: | Mike Mascari <mascarm(at)mascari(dot)com> |
Cc: | PGSQL General <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Improving performance with a Function instead of a |
Date: | 2004-02-05 05:49:14 |
Message-ID: | 1075960154.5381.1.camel@atlas.sol.deeper.co.nz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Thanks, but I don't believe this to be a problem because my JDBC layer
when I construct the query is using setObject( parameter, getId,
Types.BIGINT )
so by the time it arrives at the database that cast should have already
occured?
I could be wrong but running the Explain Analyse shows indexes being
used, but the right join for the locale stuff is the killer.
Thanks
On Thu, 2004-02-05 at 13:31, Mike Mascari wrote:
> Hadley Willan wrote:
>
> > Hi all,
> > I am using some views now to put together a particular format for
> > my Java client factory to produce Java Beans from the database.
> >
> > Because we support internationalisation we are representing values as
> > an id then storing their multiple languages in unicode to support the
> > same repesentation at the database.
> >
> > This format is:
> >
> > base_table, id bigint, is_disabled boolean default false.
> >
> > resource_table, foreign_key_to_base_table, locale_foreign_key,
> > display_name, is_translated
> >
> > As such, my views are quite slow because there are a number of Right
> > Joins occuring so that I can present a single "locale" field in the
> > view that all the localised information will attach to correctly.
> >
> > That way I can > select * FROM v_object where locale = 'en_GB' and
> > object_id = 120031;
>
>
> Without taking the view definition into account, the above query could
> not use an index on object_id because it is of type 'bigint', but the
> integer constant is parsed as 'integer'. It must either be rewritten as:
>
> object_id = 120031::bigint
>
> or
>
> object_id = '120031'
>
> or set the sequence for this identifier to start fetching values > 4.2
> billion (32-bit numbers). Of course, the view definition may have other
> optimization possibilities as well...
>
> Mike Mascari
>
>
--
Hadley Willan » Director » hadley(dot)willan(at)deeperdesign(dot)com » +64(21) 28
41 463
Deeper Design Limited » +64(7) 377 3328 » www.deeperdesign.com
From | Date | Subject | |
---|---|---|---|
Next Message | John Sidney-Woollett | 2004-02-05 07:49:02 | Re: dblink: rollback transaction |
Previous Message | Marc A. Leith | 2004-02-05 05:20:56 | Re: Predictive or scoring solution for PostgreSQL ? |