Re: Index Scan Backward - Mailing list pgsql-admin
| From | Luca Fabbro |
|---|---|
| Subject | Re: Index Scan Backward |
| Date | |
| Msg-id | 5.2.0.9.0.20030127154857.0231d078@mail.conecta.it Whole thread Raw |
| In response to | Re: Index Scan Backward (Tom Lane <tgl@sss.pgh.pa.us>) |
| Responses |
Re: Index Scan Backward
|
| List | pgsql-admin |
At 09.39 27/01/2003 -0500, you wrote:
>Luca Fabbro <lfabbro@conecta.it> writes:
> > It seems that the problem is in the Backward scan of the index :(
>
>It looks like a pretty reasonable plan to me. Could we see the output
>of EXPLAIN ANALYZE, not just EXPLAIN?
Thanks Tom for your interest.
It looks resonable also for me, but it's not too efficient.
> regards, tom lane
Here are the detailed explain
explain analyze SELECT p.* FROM forum_post AS p, forum_topic AS t WHERE
p.topicid = t.id AND t.forumid = 44 ORDER BY p.id DESC LIMIT 1;
QUERY
PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=0.00..1003.36 rows=1 width=454) (actual time=806.78..2097.61
rows=1 loops=1)
-> Nested Loop (cost=0.00..392651.18 rows=391 width=454) (actual
time=806.77..2097.59 rows=2 loops=1)
-> Index Scan Backward using forum_post_id_key on forum_post
p (cost=0.00..35615.95 rows=60668 width=450) (actual time=0.41..1122.09
rows=42322 loops=1)
-> Index Scan using forum_topic_id_key on forum_topic
t (cost=0.00..5.87 rows=1 width=4) (actual time=0.02..0.02 rows=0 loops=42322)
Index Cond: ("outer".topicid = t.id)
Filter: (forumid = 44)
Total runtime: 2098.14 msec
explain analyze SELECT p.* FROM forum_post AS p, forum_topic AS t WHERE
p.topicid = t.id AND t.forumid = 44 ORDER BY p.date DESC LIMIT 1;
QUERY
PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------
Limit (cost=1087.72..1087.72 rows=1 width=454) (actual time=1.89..1.90
rows=1 loops=1)
-> Sort (cost=1087.72..1088.70 rows=391 width=454) (actual
time=1.89..1.89 rows=2 loops=1)
Sort Key: p.date
-> Nested Loop (cost=0.00..1070.87 rows=391 width=454) (actual
time=0.64..1.11 rows=6 loops=1)
-> Index Scan using forum_topic_forumid on forum_topic
t (cost=0.00..113.40 rows=37 width=4) (actual time=0.27..0.28 rows=2 loops=1)
Index Cond: (forumid = 44)
-> Index Scan using forum_post_topicid on forum_post
p (cost=0.00..25.82 rows=22 width=450) (actual time=0.22..0.37 rows=3 loops=2)
Index Cond: (p.topicid = "outer".id)
Total runtime: 2.06 msec
pgsql-admin by date: