Always something that confuses me ... I have a query that looks like:
SELECT count(counter_id) \ FROM referrer_link \WHERE counter_id = ? \ AND referrer_id = ? \ AND stat_date = ?;
There is an index on all three conditions in the WHERE clause:
Yet EXPLAIN shows:
Aggregate (cost=2.05 rows=1 width=4) -> Index Scan using referrer_link_counter_id on referrer_link (cost=2.05 rows=1
width=4)
EXPLAIN
Table looks like:
webcounter=> \d referrer_link
Table = referrer_link
+----------------------------------+----------------------------------+-------+
| Field | Type | Length|
+----------------------------------+----------------------------------+-------+
| counter_id | int4 | 4 |
| stat_date | datetime | 8 |
| referrer_id | int4 | 4 |
| referrer_hits | int8 | 8 |
+----------------------------------+----------------------------------+-------+
Indices: referrer_link_counter_id referrer_link_referrer_id referrer_link_stat_date
Why does EXPLAIN only show the use of one of the indices, why counter_id
and why not all three?
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org