Performance na SQL

Ola apaixonados por café !
Para quem já tenha feito isso, gostaria de saber o que é melhor (em termos de performance na PRATICA) entre:

  1. usar instruções sql em tags (JSTL ou Struts) dentro de uma jsp;
    ou
  2. usar um esquema singleton de PreparedStatement e classes bean;
    Obs.: não quero usar frames de persistências.

Desde ja obrigado por sua colaboração! Kayan Okayama.

Voce vai querer ler isso: http://russellbeattie.com/notebook/1006959.html

Olá

Russel Beattie = Technical evangelist for Microsoft’s Windows Mobile platform.

Vendeu a alma ao diabo justamente nesta semana. Acaso algum diabo gostaria de comprar a minha?

[]s
Luca

Mas se for real, isso e realmente serpreendente:

Statement: 1,792ms
PreparedStatement (in): 1,969ms
PreparedStatement (out): 1,626ms
JSTL: 28,596ms

e

Statement: 36,984ms
PreparedStatement (in): 41,871ms
PreparedStatement (out): 1,598ms
JSTL: 30,743ms

Leia tudo com calma :stuck_out_tongue: … o primeiro benchmark estava errado porque havia uma diferença gritante entre o código JSTL e o JSP, no JSP o getConnection() estava fora do loop :shock:

Entonces no fim das contas (2o benchmark com tudo dentro do loop) o JSTL foi melhor.

Mas nada como fazer seu próprio teste, dependendo do seu AS e/ou connection pool pode haver uma grande diferença entre os números por causa de optimizações do AS/pool.

Haha, 1o de abril :smiley:

Olá

CV, já está tudo arranjado. O cara já está na fase dos exames médicos. Veja lá no final: “Microsoft has my lobotomy scheduled for 12:30 and later on we sacrifice small animals at sunset”

[]s
Luca

Se o seu problema principal é performance, tenho uma grande impressão de que usar Stored Procedures direto no BD, e só chamar do Java, é muito mais rápido. (ou não, posso estar falando besteira… é um caso pros experts).

repare que ele não disse nada sobre portabilidade, escalabilidade, etc… Não me xinguem! :smiley:

Peço desculpas a “smota” e “FcK” por não ter me explicado:

“smota” eu quis dizer que nos dois casos, o que me despertou a atenção foi:
PreparedStatement (out): 1,626ms
e
PreparedStatement (out): 1,598ms
Mesmo com as diferenças.

“Fck” desculpe também pois não disse que portabilidade e escalabilidade são fatores importantíssimos em minha aplicação.

Obrigado pessoal !