agora inbox for pgsql-sql@postgresql.org
help / color / mirror / Atom feedFrom: gmb <gmbouwer@gmail.com>
To: pgsql-sql@postgresql.org
Subject: View not using index
Date: Tue, 15 Sep 2015 04:56:44 -0700 (MST)
Message-ID: <1442318204445-5865953.post@n5.nabble.com> (raw)
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-sql>
HI
I hope somebody can give some guidance.
Since our application make extensive use of views, this is becoming a
concern for me.
Please see below:
CREATE TABLE detail ( invno VARCHAR, accno INTEGER, info INTEGER[] );
CREATE OR REPLACE VIEW detailview AS
( SELECT invno , accno , COALESCE( info[1],0 ) info1, COALESCE( info[2],0 )
info2, COALESCE( info[3],0 ) info3, COALESCE( info[4],0 ) info4 FROM detail
);
CREATE INDEX detail_ix_info3 ON detail ( ( info[3] ) ) WHERE COALESCE(
info[3],0 ) = 1;
EXPLAIN SELECT * FROM detail WHERE COALESCE( info[3],0 ) =1;
QUERY PLAN
------------------------------------------------------------------------------
Bitmap Heap Scan on detail (cost=4.13..12.59 rows=4 width=68)
Recheck Cond: (COALESCE(info[3], 0) = 1)
-> Bitmap Index Scan on detail_ix_info3 (cost=0.00..4.13 rows=4
width=0)
(3 rows)
EXPLAIN SELECT * FROM detailview WHERE COALESCE( info3,0 ) =1;
QUERY PLAN
--------------------------------------------------------
Seq Scan on detail (cost=0.00..20.38 rows=4 width=68)
Filter: (COALESCE(COALESCE(info[3], 0), 0) = 1)
(2 rows)
This is an oversimplified example; the view in our production env provides
for 20 elements in the info array column. My table in productions env
contains ~10mil rows.
Is there any way in which I can force the view to use the index?
Regards
--
View this message in context: http://postgresql.nabble.com/View-not-using-index-tp5865953.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
--
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql
view thread (4+ messages) latest in thread
Message-ID: <1442318204445-5865953.post@n5.nabble.com>
Permalink: ../1442318204445-5865953.post@n5.nabble.com/
Also on: postgresql.org/message-id/1442318204445-5865953.post@n5.nabble.com
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: gmbouwer@gmail.com
Subject: Re: View not using index
In-Reply-To: <1442318204445-5865953.post@n5.nabble.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox