Учитывая, что BLOB-объект уже имеет концепцию буфера, возможно, что вы на самом деле наносите ущерб производительности, вообще используя BufferedInputStream
- он может делать меньшие read()
вызовы, больше сетевых вызовов, чем необходимо.
Попробуйте полностью избавиться от BufferedInputStream
, просто читая непосредственно из двоичного потока двоичного объекта. Это всего лишь мысль, но стоит попробовать. О, и вам не нужно очищать выходной поток каждый раз, когда вы пишете.
(Кроме того, вы должны b закрывать потоки в блоках finally - в противном случае вы утечете дескрипторы, если что-нибудь вызовет исключение.)