Michael, Why do you think that it is because if "IN (...) OR IN (...)"? imho in your case root of the problem is a plan, not syntax. Could you show good and bad plans? My point is that a gtt is not very different from "in list". For example, nested loop with gtt is like "in list iterator", and "filter" access with list is not worse than hash/merge join. On Thu, Jan 3, 2013 at 7:03 PM, Michael Dinh <mdinh235@xxxxxxxxx> wrote: > Just my 2 cents. > > We have developers that are doing the exact same thing. To circumvent > Oracle's limitation, they use IN (...) OR IN (...) and performance is really > bad. > > Why not just create a temporary table? > > On Thu, Jan 3, 2013 at 3:42 AM, Sayan Malakshinov <xt.and.r@xxxxxxxxx> > wrote: >> >> First of all, I want to say, that, although this is a simple solution >> with minimal changes to the code, but still prefer to use other >> options such as a collection binding or gtt(but don't forget about >> cardinality). >> About limitation: It is described here: >> http://docs.oracle.com/cd/E14072_01/server.112/e10592/expressions015.htm >> Quote from it: >> "A comma-delimited list of expressions can contain no more than 1000 >> expressions. A comma-delimited list of sets of expressions can contain >> any number of sets, but each set can contain no more than 1000 >> expressions." >> >> >> -- >> Best regards, >> Sayan Malakshinov >> Senior performance tuning engineer >> PSBank >> Tel: +7 903 207-1576 >> -- >> //www.freelists.org/webpage/oracle-l >> >> > -- Best regards, Sayan Malakshinov Senior performance tuning engineer PSBank Tel: +7 903 207-1576 -- //www.freelists.org/webpage/oracle-l