[Dbix-class] Regarding Oracle's 1000 element limit in IN clause

Matija Grabnar matija at serverflow.com
Mon Oct 24 11:46:09 GMT 2011

On 10/24/2011 11:55 AM, Jorge Gonzalez wrote:
> B. Create a temp table in SMALL database with the contents of the HUGE 
> database I want to filter. Thi would mean transfering a copy of the 
> table with _millions_ of rows to local, just to discard it afterwards. 
> Seems not very reasonable.
The reasonable solutions are the ones you aren't allowed to do. What is 
left is the unreasonable ones.
>   or move the HUGE one where the SMALL one is (not reasonable).
Or cache PART of the HUGE one on your side. Which may or may not be 
reasonable, depending
on exact details of your problem.
> Question is, my server has enough RAM to slurp the resultset and then 
> search (which is what I'm doing now). If enough RAM is available, no 
> disk-based SQL server can beat that, provided that efficient search 
> algorithms are used (I'm using the resultset to create several RAM 
> based indexes - perl hashes - before doing any searching).
You would be surprised at what disk-based SQL servers can do, 
particularly when compared to programs written in an interpreted 
language. If your RAM based searches ran fast enough for your needs, I 
don't think you'd be writing here. If they don't run fast enough for 
you, you can implement a quick benchmark to see how  a DISK-based SQL 
server can do.

More information about the DBIx-Class mailing list