From: | "Bernd Hoffmann" <info(at)unixserver(dot)info> |
---|---|
To: | <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Performance |
Date: | 2003-12-26 20:03:50 |
Message-ID: | 033901c3cbeb$61bfaad0$0f00a8c0@maintower |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
kann mir jemand eventuell eine Möglichkeit nennen, wie ich ein
vergleichbares Ergebnis wie bei folgendem Query erreiche nur
etwas schneller? :)
SELECT t1.id,t1.interpret,
( SELECT count(*) AS count FROM artikel_artikel
WHERE artikel_artikel.artikel_interpreten_id = t1.id) AS anzahl,
( SELECT artikel_artikel.datum FROM artikel_artikel
WHERE artikel_artikel.artikel_interpreten_id = t1.id
ORDER BY artikel_artikel.datum LIMIT 1) AS newest
FROM artikel_interpreten t1
ORDER BY t1.interpret;
QUERY PLAN
----------------------------------------------------------------------------
-------------------------------------------------------------
Sort (cost=804721.53..804726.59 rows=2023 width=21) (actual
time=40702.285..40703.521 rows=2023 loops=1)
Sort Key: interpret
-> Seq Scan on artikel_interpreten t1 (cost=0.00..804610.44 rows=2023
width=21) (actual time=20.598..40688.599 rows=2023 loops=1)
SubPlan
-> Limit (cost=198.86..198.87 rows=1 width=4) (actual
time=10.101..10.103 rows=1 loops=2023)
-> Sort (cost=198.86..198.87 rows=4 width=4) (actual
time=10.093..10.093 rows=1 loops=2023)
Sort Key: datum
-> Seq Scan on artikel_artikel (cost=0.00..198.82
rows=4 width=4) (actual time=4.112..10.043 rows=3 loops=2023)
Filter: (artikel_interpreten_id = $0)
-> Aggregate (cost=198.84..198.84 rows=1 width=0) (actual
time=9.956..9.956 rows=1 loops=2023)
-> Seq Scan on artikel_artikel (cost=0.00..198.82 rows=4
width=0) (actual time=4.093..9.916 rows=3 loops=2023)
Filter: (artikel_interpreten_id = $0)
Total runtime: 40705.695 ms
(13 rows)
Oder wäe es hier sinnvoll eine neue Tabelle anzulegen und diese
bei jedem Update von artikel_interpreten bzw. artikel_artikel
mit einem Trigger zu aktuallisieren?
MfG
Bernd Hoffmann
Geisbergblick 1
96123 Litzendorf
Tel.: +49 95 05 / 80 40 66
Fax: +49 95 05 / 80 40 67
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2004-01-05 19:21:06 | Re: Performance |
Previous Message | Alvar Freude | 2003-12-04 10:03:57 | bytea-Felder und Indexe ... |