Re: Using Views as Tables

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: David L <segedunum(at)actuaria(dot)co(dot)uk>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Using Views as Tables
Date: 2017-01-08 17:40:26
Message-ID: 31824.1483897226@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

David L <segedunum(at)actuaria(dot)co(dot)uk> writes:
> This is apparently leading to some confusing results when people are
> querying these views with inconsistent query times. Sometimes queries are
> taking two or three seconds, other times 20 or 30 milliseconds, the latter
> being what we'd expect. Naturally, the fact that these are views they are
> querying is the first thing I'm questioning here and I've never seen query
> times of seconds using the table directly on the limited experiments I've
> done.

I think you're barking up the wrong tree. A view as simple as "select *
from something" should get flattened out of the plan entirely. You should
check that with EXPLAIN, but I'd expect that you get identical plans from
querying either the view or the underlying table.

What seems more plausible is that the inconsistent query times have to do
with locking, or with I/O stalls due to table data sometimes not being in
memory. Either of these might be rare enough that you simply didn't see
it in "limited experiments" with direct queries, but they'd apply to that
case just as well.

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message David L 2017-01-08 18:35:12 Re: Using Views as Tables
Previous Message David L 2017-01-08 16:30:48 Using Views as Tables