From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
---|---|
To: | Merlin Moncure <mmoncure(at)gmail(dot)com>, Bob Jolliffe <bobjolliffe(at)gmail(dot)com> |
Cc: | Peter Geoghegan <pg(at)bowt(dot)ie>, pgsql-performance(at)lists(dot)postgresql(dot)org |
Subject: | Re: How can sort performance be so different |
Date: | 2019-02-06 08:38:42 |
Message-ID: | e615ecfef25d883c811caa58da4a3ad1595b5acf.camel@cybertec.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Merlin Moncure wrote:
> yeah, probably. Having said that, I'm really struggling that it can
> take take several minutes to sort such a small number of rows even
> with location issues. I can sort rocks faster than that :-).
>
> Switching between various european collations, I'm seeing subsecond
> sort responses for 44k records on my test box. I don't have the laos
> collation installed unfortunately. Are you seeing kind of penalty in
> other conversions?
I find that it makes a lot of difference what you sort:
CREATE TABLE sort(t text);
INSERT INTO sort SELECT 'ຕົວອັກສອນລາວ... ງ່າຍຂື້ນ' || i FROM generate_series(1, 100000) AS i;
SET work_mem = '1GB';
EXPLAIN (ANALYZE, BUFFERS) SELECT t FROM sort ORDER BY t COLLATE "C";
[...]
Execution Time: 288.752 ms
EXPLAIN (ANALYZE, BUFFERS) SELECT t FROM sort ORDER BY t COLLATE "lo_LA.utf8";
[...]
Execution Time: 47006.683 ms
EXPLAIN (ANALYZE, BUFFERS) SELECT t FROM sort ORDER BY t COLLATE "en_US.utf8";
[...]
Execution Time: 73962.934 ms
CREATE TABLE sort2(t text);
INSERT INTO sort2 SELECT 'this is plain old English' || i FROM generate_series(1, 100000) AS i;
SET work_mem = '1GB';
EXPLAIN (ANALYZE, BUFFERS) SELECT t FROM sort2 ORDER BY t COLLATE "C";
[...]
Execution Time: 237.615 ms
EXPLAIN (ANALYZE, BUFFERS) SELECT t FROM sort2 ORDER BY t COLLATE "lo_LA.utf8";
[...]
Execution Time: 2467.848 ms
EXPLAIN (ANALYZE, BUFFERS) SELECT t FROM sort2 ORDER BY t COLLATE "en_US.utf8";
[...]
Execution Time: 2927.667 ms
This is on my x86_64 Fedora 29 system, kernel 4.20.6, glibc 2.28.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
From | Date | Subject | |
---|---|---|---|
Next Message | Mariel Cherkassky | 2019-02-06 10:29:06 | autovacuum big table taking hours and sometimes seconds |
Previous Message | Merlin Moncure | 2019-02-05 20:30:36 | Re: How can sort performance be so different |