I think you'll find JDBC might be converting your integers to decimals or floats, passing it to the DB and then the DB's gonna be coercing it back to an integer before using it. Which will probably add unnecessary overhead.
Did you check whether CF_SQL_BIGINT would work? It seems to support up to 9223372036854776832 (which is 2^63 + 2 ^10, which is a weird number), which is quite a lot...
--
Adam