Re: Query Optimizer + Parallel Operators

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: "Felix Schmidt (at) Oracle" <felix(dot)x(dot)schmidt(at)oracle(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Query Optimizer + Parallel Operators
Date: 2011-01-27 10:38:52
Message-ID: 4D414B3C.7020603@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 26.01.2011 16:46, Felix Schmidt @ Oracle wrote:
> Everybody,
>
> I'm interested in the query optimizer of PostgreSQL DB. Where could I
> find useful documentation or could you send me a pointer in the source code?

The relevant source code is in src/backend/optimizer directory. If you
google around, you'll find introductory presentations, but I can't
recommend any particular one.

> What kind of parallelism does PostgreSQL use for operators, like
> selection or join?

The short answer is "none". Each PostgreSQL backend is a one
single-threaded process, one query will only utilize one CPU
(http://wiki.postgresql.org/wiki/FAQ#How_does_PostgreSQL_use_CPU_resources.3F).

If you search the archives, you'll find discussion on how it might one
day be improved, but nothing concrete has been done.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexey Klyukin 2011-01-27 10:38:53 Re: arrays as pl/perl input arguments [PATCH]
Previous Message Boszormenyi Zoltan 2011-01-27 10:21:44 make -j2 error in ecpg/pgtypeslib in current GIT