From: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
---|---|
To: | semi-ambivalent <thefronny(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: auto-filling a field on insert |
Date: | 2009-10-24 06:43:56 |
Message-ID: | dcc563d10910232343j6ee661afu4e50888a7cfcdfcf@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, Oct 23, 2009 at 9:32 PM, semi-ambivalent <thefronny(at)gmail(dot)com> wrote:
> On Oct 23, 5:10 am, cr(dot)(dot)(dot)(at)postnewspapers(dot)com(dot)au (Craig Ringer) wrote:
>> semi-ambivalent wrote:
>> > At first blush that looks good but I need an index on that concatted
>> > value and I don't seem to be able to index a field in a view. I'll
>> > check the docs on views to see if I'm missing something.
>>
>> As others have noted, a multi-field index or a functional index is
>> probably the best option.
>>
>> If you decide for some reason that you really, really need the
>> concatenated fields stored in the table its self, you will need to use a
>> BEFORE INSERT ... FOR EACH ROW trigger to populate field `D'.
>>
>> --
>> Craig Ringer
>>
>> --
>> Sent via pgsql-general mailing list (pgsql-gene(dot)(dot)(dot)(at)postgresql(dot)org)
>> To make changes to your subscription:http://www.postgresql.org/mailpref/pgsql-general
>
> Thanks everyone for the pointers. I like the idea of getting rid of
> the concatenated field even though it reduced the worst case query
> time to one tenth of what I had been seeing. But for now I'm going to
> keep it there because I'm ignorant about triggers so this will be a
> good opportunity to learn about them before I drop the column for
> something more efficient, assuming there is.
The multi column index should give you equivalent speed.
From | Date | Subject | |
---|---|---|---|
Next Message | Johan Nel | 2009-10-24 07:37:11 | Re: Research and EAV models |
Previous Message | Pavel Stehule | 2009-10-24 04:46:47 | Re: How can I get one OLD.* field in a dynamic query inside a trigger function ? |