From: | Andrus <kobruleht2(at)hot(dot)ee> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Bzm(at)g" <bzm(at)2bz(dot)de> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: How to speed up product code and subcode match |
Date: | 2023-05-23 14:49:16 |
Message-ID: | ca7c9dde-be23-46c2-227f-50a5f35e9b21@hot.ee |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi!
Using index
create index on toode ( *split_part( toode, '/',1) *)
and query
select toode.toode , n2, n3, n4
from toode, vordlusajuhinnak
where *split_part( toode.toode, '/',1) *= vordlusajuhinnak.toode;
reduces run time to 5 minutes.
Andrus.
23.05.2023 17:26 Andrus kirjutas:
>
> Hi!
>
>> Separate
>> the product code and size into two columns --- if there's somebody
>> who really wants to see them in the above format, give them a
>> view or generated column. Then instead of the impossible-to-optimize
>> queries you showed, you could do something like
>>
>> select toode.toode , n2, n3, n4
>> from toode, vordlusajuhinnak
>> where toode.toode = vordlusajuhinnak.toode;
>>
> Can function index
>
> create index on toode ( *split_part( toode, '/',1) *)
>
> and query
>
> select toode.toode , n2, n3, n4
>
> from toode, vordlusajuhinnak
>
> where *split_part( toode.toode, '/',1) *= vordlusajuhinnak.toode;
>
>
> used and keeping existing table structure? Functional index should
> produce same speed improvement as using separate column?
>
> Andrus.
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alan Hodgson | 2023-05-23 15:02:20 | Re: Trying to understand a failed upgrade in AWS RDS |
Previous Message | Jeff Ross | 2023-05-23 14:43:54 | Re: 15 pg_upgrade with -j |