On 20/03/14 17:57, Jean-Max Reymond wrote: > I have a very complex view zinfoexp and running the view as: > SELECT * FROM zinfoexp WHERE idmembre in (1,84) > take 2700 ms > > So, I try another syntax: > SELECT * FROM zinfoexp WHERE idmembre = 1 > union > SELECT * FROM zinfoexp WHERE idmembre = 84 > > and for me, two calls to my view takes a lot of time (may be x2) and it > takes 134 ms ! try SELECT * FROM zinfoexp WHERE idmembre=1 OR idmembre=84 This will probably be even faster. Also, the 2 statements of your's are not semantically equal. UNION implies DISTINCT, see: select * from (values (1), (1), (2)) t(i) UNION select 19; i ---- 19 1 2 (3 rows) What you want is UNION ALL: select * from (values (1), (1), (2)) t(i) UNION ALL select 19; i ---- 1 1 2 19 (4 rows) Torsten -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance