I don't know if this's really a bug in 7.0, but I
don't see this
problem/feature in 6.5.3.
The system: Linux RedHat 6.0, running postgresql
7.0RC4
The bug: The mixed uses of table names and table alias
in a query results in an extra sequential scan in
query execution
Test cases:
EXPLAIN
SELECT *
FROM part p -- let p alias to part
WHERE part.part_id = 42; -- but don't use p
Nested Loop (cost=0.00..2429.30 rows=50735 width=219)
-> Index Scan using part_pkey on part
(cost=0.00..3.60 rows=1 width=4)
-> Seq Scan on part p (cost=0.00..1918.35
rows=50735 width=215)
# note: a seq scan appears
EXPLAIN
SELECT *
FROM part -- take out the alias
WHERE part.part_id = 42;
Index Scan using part_pkey on part (cost=0.00..3.60
rows=1 width=215)
# note: now the seq scan is gone
EXPLAIN
SELECT *
FROM part p
WHERE p.part_id = 42; -- use alias only
Index Scan using part_pkey on part p (cost=0.00..3.60
rows=1 width=215)
# note: it's also ok
Thanks,
Chi-Fung
__________________________________________________
Do You Yahoo!?
Send instant messages & get email alerts with Yahoo! Messenger.
http://im.yahoo.com/