Lentidao ao carregar arquivos da base de dados

Boa noite,

estou com um probleminha que nao sei como resolver. Tenho um sistema com JPA/Hibernate que permite o envio (upload) de arquivos. O upload ocorre perfeitamente, mas na hora de fazer o download desses arquivos o sistema demora muito tempo para trazê-los para memória e então iniciar o download. Para um arquivo de 2mb ele esta demorando de 15 a 20 segundos carregando antes de iniciar o download propriamente dito.

Abaixo estão as classes da Entidade (que representa o arquivo) e o servlet que escreve o arquivo no outputstream.

[code]@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class Arquivo implements Serializable {
@TableGenerator(name=“arquivo_geradorid”, table=“arquivo_geradorid”, allocationSize=1)
@Id
@GeneratedValue(strategy = GenerationType.TABLE, generator=“arquivo_geradorid”)
private Long id;
private String nome;
private String enctype;
private String extensao;
@Column(length=33554432)
private byte[] arquivo;

… getters and setters
}[/code]

[code]public class Arqs extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter(“id”);
Arquivo arq = ArquivoJPA.recuperar(Long.parseLong(id));

    System.out.println(arq.getId());
    System.out.println(arq.getNome());
    System.out.println(arq.getEnctype());

    response.setContentType(arq.getEnctype());
    response.setHeader("Content-Disposition", "attachment; filename=\"" + arq.getNome() + "\"");
    response.getOutputStream().write(arq.getArquivo());
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    processRequest(request, response);
}

}[/code]

Alguem saberia como eu poderia tornar esse download mais rapido?

Desde já obrigado,
Bruno Krebs.

Fico me perguntando se essa é uma pergunta idiota ou se ninguém sabe a resposta. Pois é o segundo fórum que eu a posto e ninguém da um piu…