Fwd: Not so simple query and a half million loop - Mailing list pgsql-performance

From Daniel Cristian Cruz
Subject Fwd: Not so simple query and a half million loop
Date
Msg-id 48d0cacb0812020802t1ae88fcfse12f2526ab1c993b@mail.gmail.com
Whole thread Raw
Responses Re: Fwd: Not so simple query and a half million loop
List pgsql-performance
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
クルズ  クリスチアン ダニエル

Attachment

pgsql-performance by date:

Previous
From: "Andrus"
Date:
Subject: Re: analyzing intermediate query
Next
From: Scott Carey
Date:
Subject: Re: analyzing intermediate query