Обсуждение: Re: pgv18: simple table scan take more time than pgv14
Hi, On Fri, 2025-06-20 at 09:46 +0800, James Pang wrote: > same OS RHEL8, install pgv14.11 and pgv18.beta1_3, both installation > by RPM from pgdg, and use similar postgresql.conf. <snip> > 18.beta1 > postgres=# \timing on > Timing is on. > postgres=# select * from tt where b ~~ 'a%'; > a | b > ---+--- > (0 rows) > > Time: 78.532 ms > postgres=# select * from tt where b ~~ 'a%' > postgres-# ; > a | b > ---+--- > (0 rows) > > Time: 83.516 ms > postgres=# select * from tt where b ~~ 'a%'; > a | b > ---+--- > (0 rows) It's likely because v18 beta RPMs are built with --enable-debug and --enable-cassert . See the note on yum.postgresql.org: https://yum.postgresql.org/rpmchart/#pg18 Regards, -- Devrim Gündüz Open Source Solution Architect, PostgreSQL Major Contributor BlueSky: @devrim.gunduz.org , @gunduz.org
Вложения
install 18.beta1 from source ,remove enable_debug, much better now. it's better than pgv14.11.
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 67.545 ms
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 50.945 ms
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 48.176 ms
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 49.919 ms
a | b
---+---
(0 rows)
Time: 67.545 ms
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 50.945 ms
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 48.176 ms
postgres=# select * from tt where b ~~ 'a%';
a | b
---+---
(0 rows)
Time: 49.919 ms
Thanks,
James
Devrim Gündüz <devrim@gunduz.org> 於 2025年6月21日週六 下午7:13寫道:
Hi,
On Fri, 2025-06-20 at 09:46 +0800, James Pang wrote:
> same OS RHEL8, install pgv14.11 and pgv18.beta1_3, both installation
> by RPM from pgdg, and use similar postgresql.conf.
<snip>
> 18.beta1
> postgres=# \timing on
> Timing is on.
> postgres=# select * from tt where b ~~ 'a%';
> a | b
> ---+---
> (0 rows)
>
> Time: 78.532 ms
> postgres=# select * from tt where b ~~ 'a%'
> postgres-# ;
> a | b
> ---+---
> (0 rows)
>
> Time: 83.516 ms
> postgres=# select * from tt where b ~~ 'a%';
> a | b
> ---+---
> (0 rows)
It's likely because v18 beta RPMs are built with --enable-debug and
--enable-cassert . See the note on yum.postgresql.org:
https://yum.postgresql.org/rpmchart/#pg18
Regards,
--
Devrim Gündüz
Open Source Solution Architect, PostgreSQL Major Contributor
BlueSky: @devrim.gunduz.org , @gunduz.org