From: | Craig Ringer <craig(at)2ndquadrant(dot)com> |
---|---|
To: | Quan Zongliang <quanzongliang(at)gmail(dot)com> |
Cc: | Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: improve Chinese locale performance |
Date: | 2013-07-22 07:54:56 |
Message-ID: | 51ECE550.2000805@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 07/22/2013 12:17 PM, Quan Zongliang wrote:
> Hi hackers,
>
> I tried to improve performance when database is Chinese.
>
> Under openSUSE, create index on table with 54996 rows
> locale=C, 140ms
> locale=zh_CN, 985ms
>
> I think the function strcoll() of Linux is too slow.
> So, I made a new utf8 to GB18030 map, store Chinese order in it.
> Do not call strcoll().
> On my modified code, same operation, locale=zh_CN, 203ms.
It might be worth looking at gcc's strcoll() implementation. See if it
performs better when you use the latest gcc, and if not try to improve
gcc's strcoll() .
I'd be interested in seeing a test case for this that shows that the
results of your new collation are exactly the same as the original
strcoll() based approach.
--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | KONDO Mitsumasa | 2013-07-22 08:52:31 | Re: Improvement of checkpoint IO scheduler for stable transaction responses |
Previous Message | Craig Ringer | 2013-07-22 07:46:45 | Re: Adding new joining alghoritm to postgresql |