From: | Fran Fabrizio <ffabrizio(at)exchange(dot)webmd(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | select off of a view going slowly |
Date: | 2001-05-07 15:07:16 |
Message-ID: | 3AF6BA23.FAD7CFA9@exchange.webmd.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I have a view called error_log. Most selects off of this view will
return 0 rows and in fact almost always, the error_log will be
completely empty. It's taking almost .2 seconds to run a 'select count
from error_log where site_id=1 and host_id=2'.
Creating an index on a view would seem counterintuitive, but I tried
anyway. Surprisingly, it did create something (\d error_log_index
showed the index) but a subsequent \d on the error_log view and on the
table it is created from did not show an associated index, and nothing
got faster anyway.
I've included the EXPLAIN results below, I'm not real good at
interpreting them yet, so I'm not real sure what I am looking for.
Any ideas?
Thanks,
Fran
monitoring=# \d error_log
View "error_log"
Attribute | Type | Modifier
-----------+---------+----------
count | integer |
site_id | bigint |
host_id | bigint |
View definition: SELECT count(*) AS count, log.site_id, log.host_id FROM
log WHE
RE (((log.status = 'CRIT'::"varchar") OR (log.status =
'EMERG'::"varchar")) AND
(log.tstamp > (now() - '1 00:00'::"interval"))) GROUP BY log.site_id,
log.host_i
d;
monitoring=# explain select count from error_log where site_id=24 and
host_id=67
;
NOTICE: QUERY PLAN:
Aggregate (cost=18398.08..18398.09 rows=0 width=16)
-> Group (cost=18398.08..18398.09 rows=1 width=16)
-> Sort (cost=18398.08..18398.08 rows=1 width=16)
-> Seq Scan on log (cost=0.00..18398.07 rows=1 width=16)
EXPLAIN
monitoring=# select count from error_log where site_id=24 and
host_id=67;
count
-------
(0 rows)
monitoring=#
010507.11:03:11.320 [6801] StartTransactionCommand
010507.11:03:11.321 [6801] query: select count from error_log where
site_id=24 and host_id=67;
010507.11:03:11.321 [6801] ProcessQuery
010507.11:03:12.495 [6801] CommitTransactionCommand
From | Date | Subject | |
---|---|---|---|
Next Message | Jan Wieck | 2001-05-07 15:09:29 | Re: a primer on trigger? |
Previous Message | Karel Zak | 2001-05-07 14:59:16 | Re: Autonumber |