Обсуждение: Fwd: Not so simple query and a half million loop

Поиск
Список
Период
Сортировка

Fwd: Not so simple query and a half million loop

От
"Daniel Cristian Cruz"
Дата:
Hi, all!

No one knows why I got "actual time=0.014..0.570 rows=30 loops=511222"
and "actual time=0.005..0.006 rows=1 loops=15158976"?

With:
 cu.cal_user_type = 'u' AND
 cu.cal_recur_date = COALESCE((SELECT cd.cal_start FROM egw_cal_dates
icd WHERE icd.cal_id = cd.cal_id AND icd.cal_start = cd.cal_start AND
icd.cal_start <> 0), 0)
 ~ 450 seconds

With
 cu.cal_user_type = 'u'
 ~ 130 ms

With
 cu.cal_recur_date = COALESCE((SELECT cd.cal_start FROM egw_cal_dates
icd WHERE icd.cal_id = cd.cal_id AND icd.cal_start = cd.cal_start AND
icd.cal_start <> 0), 0)
 ~ 1 second

I've tryied to increase statistics to maximum, with no success.

This is the eGroupware database schema, with a few records.

The complete queries and plan folows.

---------- Forwarded message ----------
From: Daniel Cristian Cruz <danielcristian@gmail.com>
Date: 2008/12/1
Subject: Not so simple query and a half million loop
To: pgsql-admin <pgsql-admin@postgresql.org>


I've tryied 4 times to post this message to pgsql-performance without
success... No return, even an error...

--
Daniel Cristian Cruz
クルズ  クリスチアン ダニエル

Вложения

Re: Fwd: Not so simple query and a half million loop

От
Craig Ringer
Дата:
Daniel Cristian Cruz wrote:

> No one knows why I got "actual time=0.014..0.570 rows=30 loops=511222"
> and "actual time=0.005..0.006 rows=1 loops=15158976"?

You've already tried increasing the stats targets and ANALYZEing, so:

Please post the output of VACUUM ANALYZE VERBOSE on the tables of interest.

> I've tryied 4 times to post this message to pgsql-performance without
> success... No return, even an error...

Well, the message arrives. However, many people ignore anything with
"Fwd:" in it in a mailing list, since it's someone lazily resending a
message by clicking on the forward button thus they've probably seen the
message before.

--
Craig Ringer