conselho fuja do hibernate!!! Pro desenvolvedor é lindo é odara é fandásdigo(por sinal a grande maioria não sabe nem fazer uma query decente), já pro dba.... Tive experiências muito negativas com o hibernate, query que demoravam minutos, acredite, quando foram feitas na mão demoram meros 3 segundos.... não sei se você conhece como o hibernate trabalha, mas so exemplificando se um objeto tiver várias agregações ele puxa tudo , nesmo que você queira um atributo que não necessitaria nem a navegação ao objeto relacionado.... Imagina um objeto que seja bem central no seu sistemas que possuem vários relacionamentos.... o hibernate sai tacando o pau em tudo. ----- Original Message ----- From: "Denis Villegas" <[EMAIL PROTECTED]> To: <pgbr-geral@listas.postgresql.org.br> Sent: Friday, January 18, 2008 11:39 AM Subject: [pgbr-geral] Performace baixa com Hibernate
Bom dia Pessoal, Estou com um problema no postgres aqui na empresa, tem umas querys que estão consumindo o recurso do servidor, e sua performance caiu muito, tanto que esta ocorrendo diversos timeouts, estou desconfiado de umas rotinas do Hibernate, cujo o framework é utilizado pela equipe de desenvolvimento. fiz um monitoramento e cheguei na seguinte analise: Esses são as querys mais utilizadas: tempo(ms) quantidade tablespace(usuario) comando 9996.995 128271 nextproddb(portal) EXECUTE <unnamed> [PREPARE: create local temporary table HT_promotion_rule (id int8 not null) on commit drop 9967.797 1245 nextproddb(portal) EXECUTE <unnamed> [PREPARE: create local temporary table HT_promotion_prize (id int8 not null) on commit drop 6575.679 793 nextproddb(portal) EXECUTE <unnamed> [PREPARE: select promotionp0_.id as id32_, promotionp0_.creation_time as creation2_32_, promotionp0_.delivered as delivered32_, promotionp0_.msisdn as msisdn32_, promotionp0_.visible as visible32_, promotionp0_.enabled as enabled32_, promotionp0_.reminder_sent as reminder7_32_, promotionp0_.wappush_accepted as wappush8_32_, promotionp0_.rule_id as rule9_32_, promotionp0_.expiration_time as expiration10_32_, promotionp0_1_.delivered_items as delivered2_33_, promotionp0_1_.number_of_items as number3_33_, promotionp0_1_.promotional_category_id as promotio4_33_, case when promotionp0_1_.id is not null then 1 when promotionp0_.id is not null then 0 end as clazz_ from promotion_prize promotionp0_ left outer join category_prize promotionp0_1_ on promotionp0_.id=promotionp0_1_.id where promotionp0_.enabled=true and promotionp0_.reminder_sent=false and promotionp0_.rule_id=$1 and promotionp0_.creation_time<$2 8815.257 397 nextproddb(portal) EXECUTE <unnamed> [PREPARE: update promotion_rule set last_reminder_sent_time=$1 where (id) IN (select id from HT_promotion_rule) 4759.379 147 nextproddb(portal) EXECUTE <unnamed> [PREPARE: drop table HT_promotion_rule 5512.508 137 nextproddb(portal) EXECUTE <unnamed> [PREPARE: select id from portal where id = $1 for update Gostaria de tentar otimizar esse tempo de 10s para a criacao de uma tabela temporaria, alguem ja passou por algo semelhante e poderia me ajudar a achar uma solucao? Fico no aguardo Obrigado Denis Hoffmeister Villegas Analista de BI Desenvolvimento Tel: (11)3191-0200 R293 Cel: (11)9282-2954 SupportComm S.A. _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral