Re: Performance of IN (...) vs. = ANY array[...]

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Benjamin Minshall <minshall(at)intellicon(dot)biz>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Performance of IN (...) vs. = ANY array[...]
Date: 2006-09-15 20:19:21
Message-ID: 5373.1158351561@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Benjamin Minshall <minshall(at)intellicon(dot)biz> writes:
> What are the advantages or disadvantages of using arrays in this
> situation? The = ANY array method makes plpgsql development cleaner,
> but seems to really lack performance in certain cases.

In existing releases, the form with IN (list-of-scalar-constants)
can be optimized into indexscan(s), but = ANY (array) isn't.

8.2 will treat them equivalently (in fact, it converts IN (...) to
= ANY (ARRAY[...]) !). So depending on your time horizon, you might
wish to stick with whichever is cleaner for your calling code.

regards, tom lane

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Luke Lonergan 2006-09-16 23:46:04 Re: RAID 0 not as fast as expected
Previous Message Benjamin Minshall 2006-09-15 19:12:07 Performance of IN (...) vs. = ANY array[...]