What Derby version is it?
How does it perform if you re-create index on foo_id column?

p. 

On Sun, Oct 5, 2008 at 10:07 PM, Tim Dudgeon <tdudgeon@informaticsmatters.com> wrote:
If I run a statement like this is Derby:
SELECT COL1, COL2 FROM FOO WHERE FOO_ID IN ( 1, 31, ..... 4567)
it seems unexpectedly slow. Its actually faster to retrieve each row individually using a for loop that it is to use the IN ( ..  list ... ) clause. This seems strange.

Thanks

Tim