Beruflich Dokumente
Kultur Dokumente
PGBR2013
2/97
(genda
Bai)a $er&ormance%%% OR# * #a$eamento O !eto+Relacional ,P( * ,ava Persistence (P.i ernate "etc/ing * 0ager "etc/ing * Laz1 2ollection "etc/ing * Laz1 2ollection "etc/ing * 0ager 2ac/e do 13 45vel 2ac/e do 23 45vel D1namic6$date Q7er1 com 408 Batc/ 6$date Batc/ 9 Bin:rios Q7er1 com "0;2. Batc/Size
3/97
Bai)a $er&ormance%%%
AOL-B0-R(C/tt$D++EEE%midstorm%org+F&i<e+$alestras+t7ningG$gGconsegi%$d&H
4/97
Bai)a $er&ormance%%%
Para ": io ;elles Rodrig7ez
Por mais I7e os desenvolvedores reclamem do servidor de anco de dadosC em J0> dos casos o $ro lema est: na a$licao e em 20> no SGDB% 4o I7e a a$licao se!a r7im em siC mas ela $ode no 7sar o SGDB de &orma e&iciente% 0)istem v:rias &ormas de se o ter os mesmos dados de &orma ine&iciente% PiorC 7ma cons7lta I7e &7ncionava em n7m SGDB $ode ter 7ma $er&ormance catastrK&ica em o7tro SGDB% -n&elizmente isto $ode ocorrer tam Lm com migra?es $ara o7tra verso do mesmo SGDB% #esmo assimC a c7l$a ainda no L do SGDB% ( a$licao I7e tem Ain&elizmenteH de ada$tar Ms es$eci&icidades de cada &ornecedor e cada verso% 4a verdadeC se &ormos levar a I7esto de &orma mais $onderadaC a lei no seria J0+20C seria NNCN+0C01 % -sto ocorre $or 7m motivo sim$lesC a!7stes de SQL e modelagem $odem res7ltar em gan/os de $er&ormance da ordem de 10C 100 o7 atL 1000 vezes% 0nI7anto issoC a!7stes no SO e SGDB tem gan/os da ordem de atL 10 vezes% PortantoC antes de mais nada a$renda a modelar em e con/ea as minOcias do SQL do se7 SGDB% De$ois a$renda a analisar com $ro&7ndidade os $lanos de e)ec7o e reescreva cons7ltas com$le)as a $artir deste ti$o de an:lise% ARODR-G60SC /tt$D++EEE%midstorm%org+Ftelles+200J+03+0P+12QdicasQ$araQa$renderQaQ a!7starQaQ$er&ormanceQdeQ ancosQdeQdados+H
5/97
Bai)a $er&ormance%%%
Para Renia #ilene
=S> das ca7sas de ai)a $er&ormance em Bancos de Dados so ca7sadas $elas a$lica?es% Di&icilmente temos no mesmo am iente 7m DB( Desenvolvedor o7 7m Desenvolvedor DB(C sendo assimC m7ito C mas m7ito c7idado na criao das cons7ltas% 2S> so ca7sados $elos modelos de dados% Banco mal modelado tende a ser terr5vel% ( mel/or &orma L normalizar o modeloC com isso gan/amos economia de es$ao e a no re$etio dos dados% PorLm L necess:rio 7ma an:liseC $ois em relatKrios m7ito grandes no L aconsel/:vel normalizao I7ando &alamos de gan/o de $er&ormance% S> so $ro lemas do SGDBC acontece do gerenciador do anco no ter 7m algoritmo e&icienteC o7 no conseg7e manter as in&orma?es necess:rias na memKria $or tem$o e&iciente% (teno na a$licao de $atc/s e 7$grades de vers?es% S> so ca7sadas $or con&ig7ra?es o7 de&iciTncias do Sistema O$eracional% (teno no &l7)o da redeC m7itas vezes o servidor esta com 7ma $laca de rede no adeI7ada $ara a I7antidade de &l7)o de in&orma?es I7e tra&ega% Beri&ica?es de $arUmetros de Rernel tam Lm so consider:veisC $ois o S%O $ode no estar dei)ando o anco escalonar I7e in&l7encia no im$acto do sistema% A#-L040C /tt$D++<eniamilene%Eord$ress%com+200V+10+2S+regrasQ asicasQdeQt7ningQdeQ ancoQdeQdados+H%
6/97
Bai)a $er&ormance%%%
Para 2la7dia #ac/ado Sistema o$eracionalC caso ten/a sido mal $arametrizadoW SGBD RelacionalC $or ca7sa de inadeI7adas con&ig7ra?es relacionadas Ms :reas de 7&&ersC organizao do loggingC alocao de arI7ivosC entre o7trosW RedeC no caso de im$actos no tr:&ego em razo de $rocessamento de dados e&et7ados no servidor o7 na redeW #odelo &5sico de dadosC em razo de inadeI7ao na de&inio da estr7t7ra das ta elas e 5ndicesW ($licaoC I7ando ocorrem $ro lemas na estr7t7ra lKgica e&et7ada $elo $rogramadorC o I7e com$reende a ling7agem /os$edeira e os comandos em SQL%
7/97
( c7l$a L de I7emXXX
8/97
9/97
10/97
.i ernate
O .i ernate L 7m $ro!eto am icioso I7e visa ser 7ma sol7o com$leta $ara o $ro lema de gerenciar dados $ersistentes em ,ava% 0le medeia a interao da a$licao com o anco de dados relacionalC dei)ando o desenvolvedor livre $ara se concentrar no $ro lema de negKcio I7e tem nas mos% O .i ernate L 7ma sol7o no intr7siva% 4o L necess:rio I7e vocT siga m7itas das regras e dos $adr?es de $ro!eto es$ec5&icos do .i ernate I7anto estiver escrevendo a s7a lKgica de negKcio e s7as classes $ersistentesW L $or essa razo I7e o .i ernate se integra tranI7ilamente M maioria das novas e e)istentes a$lica?es e no necessita de m7danas inc[modas ao resto da a$licao% AB(60R e R-4GC 200VC $%PH
11/97
.i ernate
Prod7tivade #7lti anco Sem SQL 2riteria \ ,PQL A.QLH 2ac/e 0nvers * (7ditoria .i ernate Statistics
12/97
13/97
"etc/ing * 0ager
14/97
"etc/ing * 0ager
select select $rod7to0G%id $rod7to0G%idas asid1G2GC id1G2GC $rod7to0G%descricao $rod7to0G%descricaoas asdescricao1G2GC descricao1G2GC $rod7to0G%&a ricanteGid as $rod7to0G%&a ricanteGid as&a &a ricanteSG1G2GC ricanteSG1G2GC $rod7to0G%nome $rod7to0G%nomeas asnome1G2GC nome1G2GC $rod7to0G%ti$oGid $rod7to0G%ti$oGidas asti$o=G1G2GC ti$o=G1G2GC $rod7to0G%valor as valor1G2GC $rod7to0G%valor as valor1G2GC &a &a ricante1G%id ricante1G%idas asid0G0GC id0G0GC &a ricante1G%nome as &a ricante1G%nome asnome0G0GC nome0G0GC ti$o$rod7t2G%id ti$o$rod7t2G%idas asid2G1GC id2G1GC ti$o$rod7t2G%descricao ti$o$rod7t2G%descricaoas asdescricao2G1G descricao2G1G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to0G $rod7to0G inner !oin inner !oin $7 $7 lic%&a lic%&a ricante ricante&a &a ricante1G ricante1G on on$rod7to0G%&a $rod7to0G%&a ricanteGid]&a ricanteGid]&a ricante1G%id ricante1G%id inner !oin inner !oin $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t2G ti$o$rod7t2G on $rod7to0G%ti$oGid]ti$o$rod7t2G%id on $rod7to0G%ti$oGid]ti$o$rod7t2G%id E/ere E/ere $rod7to0G%id]X $rod7to0G%id]X
15/97
16/97
"etc/ing * Laz1
17/97
"etc/ing * Laz1
select select $rod7to&et0G%id $rod7to&et0G%idas asid1G0GC id1G0GC $rod7to&et0G%descricao $rod7to&et0G%descricaoas asdescricao1G0GC descricao1G0GC $rod7to&et0G%&a ricanteGid as $rod7to&et0G%&a ricanteGid as&a &a ricanteSG1G0GC ricanteSG1G0GC $rod7to&et0G%nome as nome1G0GC $rod7to&et0G%nome as nome1G0GC $rod7to&et0G%ti$oGid $rod7to&et0G%ti$oGidas asti$o=G1G0GC ti$o=G1G0GC $rod7to&et0G%valor as valor1G0G $rod7to&et0G%valor as valor1G0G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to&et0G $rod7to&et0G E/ere E/ere $rod7to&et0G%id]X $rod7to&et0G%id]X
18/97
"etc/ing * Laz1
select select &a &a ricante0G%id ricante0G%idas asid0G0GC id0G0GC &a ricante0G%nome &a ricante0G%nomeas asnome0G0G nome0G0G &rom &rom $7 $7 lic%&a lic%&a ricante ricante&a &a ricante0G ricante0G E/ere E/ere &a &a ricante0G%id]X ricante0G%id]X
19/97
"etc/ing * Laz1
select select ti$o$rod7t0G%id ti$o$rod7t0G%idas asid2G0GC id2G0GC ti$o$rod7t0G%descricao ti$o$rod7t0G%descricaoas asdescricao2G0G descricao2G0G &rom &rom $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t0G ti$o$rod7t0G E/ere E/ere ti$o$rod7t0G%id]X ti$o$rod7t0G%id]X
20/97
21/97
22/97
23/97
24/97
25/97
.i .i ernateD ernateD select select &a &a ricante0G%id ricante0G%idas asid0G2GC id0G2GC &a &a ricante0G%nome ricante0G%nomeas asnome0G2GC nome0G2GC $rod7tos1G%&a ricanteGid $rod7tos1G%&a ricanteGidas as&a &a ricanteSG0GPGC ricanteSG0GPGC $rod7tos1G%id $rod7tos1G%idas asidPGC idPGC $rod7tos1G%id $rod7tos1G%idas asid1G0GC id1G0GC $rod7tos1G%descricao $rod7tos1G%descricaoas asdescricao1G0GC descricao1G0GC $rod7tos1G%&a $rod7tos1G%&a ricanteGid ricanteGidas as&a &a ricanteSG1G0GC ricanteSG1G0GC $rod7tos1G%nome as nome1G0GC $rod7tos1G%nome as nome1G0GC $rod7tos1G%ti$oGid $rod7tos1G%ti$oGidas asti$o=G1G0GC ti$o=G1G0GC $rod7tos1G%valor $rod7tos1G%valoras asvalor1G0GC valor1G0GC ti$o$rod7t2G%id ti$o$rod7t2G%idas asid2G1GC id2G1GC ti$o$rod7t2G%descricao ti$o$rod7t2G%descricaoas asdescricao2G1G descricao2G1G &rom &rom $7 $7 lic%&a lic%&a ricante ricante&a &a ricante0G ricante0G le&t le&to7ter o7ter!oin !oin $7 $7 lic%$rod7to lic%$rod7to$rod7tos1G $rod7tos1G on &a ricante0G%id]$rod7tos1G%&a on &a ricante0G%id]$rod7tos1G%&a ricanteGid ricanteGid le&t le&to7ter o7ter!oin !oin $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t2G ti$o$rod7t2G on on$rod7tos1G%ti$oGid]ti$o$rod7t2G%id $rod7tos1G%ti$oGid]ti$o$rod7t2G%id E/ere E/ere &a &a ricante0G%id]X ricante0G%id]X
26/97
27/97 select select $rod7to0G%id $rod7to0G%idas asid1G2GC id1G2GC $rod7to0G%descricao $rod7to0G%descricaoas asdescricao1G2GC descricao1G2GC $rod7to0G%&a $rod7to0G%&a ricanteGid ricanteGidas as&a &a ricanteSG1G2GC ricanteSG1G2GC $rod7to0G%nome as nome1G2GC $rod7to0G%nome as nome1G2GC $rod7to0G%ti$oGid $rod7to0G%ti$oGidas asti$o=G1G2GC ti$o=G1G2GC $rod7to0G%valor $rod7to0G%valoras asvalor1G2GC valor1G2GC &a &a ricante1G%id ricante1G%idas asid0G0GC id0G0GC &a ricante1G%nome as &a ricante1G%nome asnome0G0GC nome0G0GC ti$o$rod7t2G%id ti$o$rod7t2G%idas asid2G1GC id2G1GC ti$o$rod7t2G%descricao ti$o$rod7t2G%descricaoas asdescricao2G1G descricao2G1G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to0G $rod7to0G inner !oin inner !oin $7 $7 lic%&a lic%&a ricante ricante&a &a ricante1G ricante1G on $rod7to0G%&a ricanteGid]&a on $rod7to0G%&a ricanteGid]&a ricante1G%id ricante1G%id inner !oin inner !oin $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t2G ti$o$rod7t2G on $rod7to0G%ti$oGid]ti$o$rod7t2G%id on $rod7to0G%ti$oGid]ti$o$rod7t2G%id E/ere E/ere $rod7to0G%id]X $rod7to0G%id]X
28/97
4o 4o&az &azcons7lta cons7ltano noBD% BD% ( 0ntidade esta no 2ac/e de ( 0ntidade esta no 2ac/e de13 1345vel 45vel
29/97
30/97
31/97
32/97
33/97
34/97
select select $rod7to0G%id $rod7to0G%idas asid1G2GC id1G2GC $rod7to0G%descricao $rod7to0G%descricaoas asdescricao1G2GC descricao1G2GC $rod7to0G%&a ricanteGid as $rod7to0G%&a ricanteGid as&a &a ricanteSG1G2GC ricanteSG1G2GC $rod7to0G%nome as nome1G2GC $rod7to0G%nome as nome1G2GC $rod7to0G%ti$oGid $rod7to0G%ti$oGidas asti$o=G1G2GC ti$o=G1G2GC $rod7to0G%valor as valor1G2GC $rod7to0G%valor as valor1G2GC &a &a ricante1G%id ricante1G%idas asid0G0GC id0G0GC &a ricante1G%nome as &a ricante1G%nome asnome0G0GC nome0G0GC ti$o$rod7t2G%id as id2G1GC ti$o$rod7t2G%id as id2G1GC ti$o$rod7t2G%descricao ti$o$rod7t2G%descricaoas asdescricao2G1G descricao2G1G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to0G $rod7to0G inner inner!oin !oin $7 $7 lic%&a lic%&a ricante ricante&a &a ricante1G ricante1G on on$rod7to0G%&a $rod7to0G%&a ricanteGid]&a ricanteGid]&a ricante1G%id ricante1G%id inner !oin inner !oin $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t2G ti$o$rod7t2G on on$rod7to0G%ti$oGid]ti$o$rod7t2G%id $rod7to0G%ti$oGid]ti$o$rod7t2G%id E/ere E/ere $rod7to0G%id]X $rod7to0G%id]X
35/97
36/97
37/97
38/97
39/97
2ac/e de 23 45vel
40/97
41/97
42/97
READ_WRITE Q ( estratLgia leit7ra e escrita L a mais a rangente e s7$orta escrita mais &reI7enteC garantido I7e a Oltima verso do cac/e L a mesma do anco%
NONSTRICT_READ_WRITE Q -ndicada $ara o !etos I7e so raramente at7alizados e I7e tTm $ro a ilidade de at7aliza?es sim7ltUneas m7ito ai)as e L a mais com7m% 2aso m7itas at7aliza?es ocorram ^sim7ltaneamente^ $ode ser I7e a Oltima verso comitada no anco no se!a a mesma I7e aca o7 &icando no se7 cac/e%
TRANSACTIONAL Q _ totalmente transacionalC com s7$orte a cac/es distri 75dos% Po7cos $roviders o&erecem esse s7$orte% O $rovider 0/2ac/e no tem s7$orte a esta estratLgia%
43/97
44/97
45/97
4o 4o&az &azcons7lta cons7ltano noBD% BD% ( 0ntidade esta no 2ac/e de ( 0ntidade esta no 2ac/e de23 2345vel 45vel
46/97
47/97
48/97
49/97
50/97
51/97
4o 4o&az &azcons7lta cons7ltano noBD% BD% ( 0ntidade esta no 2ac/e de ( 0ntidade esta no 2ac/e de23 2345vel 45vel
52/97
4o 4o&az &azcons7lta cons7ltano noBD% BD% ( 0ntidade esta no 2ac/e de ( 0ntidade esta no 2ac/e de23 2345vel 45vel
53/97
D1namic6$date * 13 0)em$lo
54/97
D1namic6$date * 13 0)em$lo
select select $rod7to0G%id $rod7to0G%idas asid1G2GC id1G2GC $rod7to0G%descricao $rod7to0G%descricaoas asdescricao1G2GC descricao1G2GC $rod7to0G%&a ricanteGid as $rod7to0G%&a ricanteGid as&a &a ricanteSG1G2GC ricanteSG1G2GC $rod7to0G%nome $rod7to0G%nomeas asnome1G2GC nome1G2GC $rod7to0G%ti$oGid $rod7to0G%ti$oGidas asti$o=G1G2GC ti$o=G1G2GC $rod7to0G%valor as valor1G2GC $rod7to0G%valor as valor1G2GC &a &a ricante1G%id ricante1G%idas asid0G0GC id0G0GC &a ricante1G%nome as &a ricante1G%nome asnome0G0GC nome0G0GC ti$o$rod7t2G%id as id2G1GC ti$o$rod7t2G%id as id2G1GC ti$o$rod7t2G%descricao ti$o$rod7t2G%descricaoas asdescricao2G1G descricao2G1G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to0G $rod7to0G inner !oin inner !oin $7 $7 lic%&a lic%&a ricante ricante&a &a ricante1G ricante1G on on$rod7to0G%&a $rod7to0G%&a ricanteGid]&a ricanteGid]&a ricante1G%id ricante1G%id inner !oin inner !oin $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t2G ti$o$rod7t2G on on$rod7to0G%ti$oGid]ti$o$rod7t2G%id $rod7to0G%ti$oGid]ti$o$rod7t2G%id E/ere E/ere $rod7to0G%id]X $rod7to0G%id]X
55/97
D1namic6$date * 13 0)em$lo
7$date 7$date $7 $7 lic%$rod7to lic%$rod7to set set descricao]XC descricao]XC &a &a ricanteGid]XC ricanteGid]XC nome]XC nome]XC ti$oGid]XC ti$oGid]XC valor]X valor]X E/ere E/ere id]X id]X
56/97
D1namic6$date * #a$eamento
57/97
D1namic6$date * 23 0)em$lo
58/97
D1namic6$date * 23 0)em$lo
select select $rod7to0G%id $rod7to0G%idas asid1G2GC id1G2GC $rod7to0G%descricao $rod7to0G%descricaoas asdescricao1G2GC descricao1G2GC $rod7to0G%&a ricanteGid as $rod7to0G%&a ricanteGid as&a &a ricanteSG1G2GC ricanteSG1G2GC $rod7to0G%nome $rod7to0G%nomeas asnome1G2GC nome1G2GC $rod7to0G%ti$oGid $rod7to0G%ti$oGidas asti$o=G1G2GC ti$o=G1G2GC $rod7to0G%valor as valor1G2GC $rod7to0G%valor as valor1G2GC &a &a ricante1G%id ricante1G%idas asid0G0GC id0G0GC &a ricante1G%nome as &a ricante1G%nome asnome0G0GC nome0G0GC ti$o$rod7t2G%id as id2G1GC ti$o$rod7t2G%id as id2G1GC ti$o$rod7t2G%descricao ti$o$rod7t2G%descricaoas asdescricao2G1G descricao2G1G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to0G $rod7to0G inner !oin inner !oin $7 $7 lic%&a lic%&a ricante ricante&a &a ricante1G ricante1G on on$rod7to0G%&a $rod7to0G%&a ricanteGid]&a ricanteGid]&a ricante1G%id ricante1G%id inner !oin inner !oin $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t2G ti$o$rod7t2G on on$rod7to0G%ti$oGid]ti$o$rod7t2G%id $rod7to0G%ti$oGid]ti$o$rod7t2G%id E/ere E/ere $rod7to0G%id]X $rod7to0G%id]X
59/97
D1namic6$date * 23 0)em$lo
7$date 7$date $7 $7 lic%$rod7to lic%$rod7to set set nome]X nome]X E/ere E/ere id]X id]X
60/97
61/97
62/97
63/97
64/97
65/97
66/97
67/97
.i .i ernateD ernateD select select $rod7to0G%id $rod7to0G%idas asid1GC id1GC $rod7to0G%descricao $rod7to0G%descricaoas asdescricao1GC descricao1GC $rod7to0G%&a ricanteGid as $rod7to0G%&a ricanteGid as&a &a ricanteSG1GC ricanteSG1GC $rod7to0G%nome as nome1GC $rod7to0G%nome as nome1GC $rod7to0G%ti$oGid $rod7to0G%ti$oGidas asti$o=G1GC ti$o=G1GC $rod7to0G%valor as valor1G $rod7to0G%valor as valor1G &rom &rom $7 $7 lic%$rod7to lic%$rod7to$rod7to0G $rod7to0G Para Paracada cadaitem itemdo dores7ltado res7ltadoacima acima&azD &azD .i .i ernateD ernateD select select &a &a ricante0G%id ricante0G%idas asid0G0GC id0G0GC &a ricante0G%nome as &a ricante0G%nome asnome0G0G nome0G0G &rom &rom $7 $7 lic%&a lic%&a ricante ricante&a &a ricante0G ricante0G E/ere E/ere &a &a ricante0G%id]X ricante0G%id]X .i .i ernateD ernateD select select ti$o$rod7t0G%id ti$o$rod7t0G%idas asid2G0GC id2G0GC ti$o$rod7t0G%descricao ti$o$rod7t0G%descricaoas asdescricao2G0G descricao2G0G &rom &rom $7 $7 lic%ti$oG$rod7to lic%ti$oG$rod7toti$o$rod7t0G ti$o$rod7t0G E/ere E/ere ti$o$rod7t0G%id]X ti$o$rod7t0G%id]X %%% %%%
68/97
0)ec7ta 0)ec7ta$ara $aracada cadaitem itemdo dores7ltado res7ltadoda dalista% lista% .i .i ernateD ernateD 7$date 7$date $7 $7 lic%$rod7to lic%$rod7to set set valor]X valor]X E/ere E/ere -d]X -d]X %%% %%%
69/97
70/97
71/97
Batc/ %%%
72/97
Bin:rios
73/97
Bin:rios
74/97
Bin:rios
75/97
Bin:rios
select select $rocesso0G%id $rocesso0G%idas asid=G0GC id=G0GC $rocesso0G%dataDistri $rocesso0G%dataDistri 7icao 7icaoas asdataDist2G=G0GC dataDist2G=G0GC $rocesso0G%n7mero as n7mero=G0G $rocesso0G%n7mero as n7mero=G0G &rom &rom $7 $7 lic%Processo lic%Processo$rocesso0G $rocesso0G E/ere E/ere $rocesso0G%id]X $rocesso0G%id]X
76/97
Bin:rios
select select movimentos0G%$rocessoGid movimentos0G%$rocessoGidas as$rocessoSG=G1GC $rocessoSG=G1GC movimentos0G%id as id1GC movimentos0G%id as id1GC movimentos0G%id movimentos0G%idas asidJG0GC idJG0GC movimentos0G%data as movimentos0G%data asdataJG0GC dataJG0GC movimentos0G%descricao movimentos0G%descricaoas asdescricaoJG0GC descricaoJG0GC movimentos0G%n7mero as n7meroJG0GC movimentos0G%n7mero as n7meroJG0GC movimentos0G%$rocessoGid movimentos0G%$rocessoGidas as$rocessoSGJG0G $rocessoSGJG0G &rom &rom $7 $7 lic%#ovimento lic%#ovimentomovimentos0G movimentos0G E/ere E/ere movimentos0G%$rocessoGid]X movimentos0G%$rocessoGid]X
77/97
Bin:rios
( (cada cadaiterao iteraodo do"OR "ORdo domovimento movimento&azD &azD select select arI7ivos0G%movimentoGid arI7ivos0G%movimentoGidas asmovimentoVGJG1GC movimentoVGJG1GC arI7ivos0G%id as id1GC arI7ivos0G%id as id1GC arI7ivos0G%id arI7ivos0G%idas asidVG0GC idVG0GC arI7ivos0G%conte7do arI7ivos0G%conte7doas asconte7doVG0GC conte7doVG0GC arI7ivos0G%conte7doGti$o arI7ivos0G%conte7doGti$oas asconte7do3GVG0GC conte7do3GVG0GC arI7ivos0G%dataGveri&icacaoGassinat7ra arI7ivos0G%dataGveri&icacaoGassinat7raas asdataPGVG0GC dataPGVG0GC arI7ivos0G%movimentoGid as movimentoVGVG0GC arI7ivos0G%movimentoGid as movimentoVGVG0GC arI7ivos0G%nome arI7ivos0G%nomeas asnomeVG0GC nomeVG0GC arI7ivos0G%signatario arI7ivos0G%signatarioas assignatarioVG0G signatarioVG0G &rom &rom $7 $7 lic%(rI7ivo lic%(rI7ivoarI7ivos0G arI7ivos0G E/ere E/ere arI7ivos0G%movimentoGid]X arI7ivos0G%movimentoGid]X
78/97
Bin:rios
Somente SomenteI7ando I7andooo7s7:rio 7s7:rioclicar clicar neste lin< I7e vamos mostrar o conteOdo neste lin< I7e vamos mostrar o conteOdo do doarI7ivo% arI7ivo% XXXX XXXX
79/97
Bin:rios
80/97
Bin:rios
81/97
Bin:rios
82/97
Bin:rios
83/97
Bin:rios
select select $rocesso0G%id $rocesso0G%idas asid=G0GC id=G0GC $rocesso0G%dataDistri $rocesso0G%dataDistri 7icao 7icaoas asdataDist2G=G0GC dataDist2G=G0GC $rocesso0G%n7mero as n7mero=G0G $rocesso0G%n7mero as n7mero=G0G &rom &rom $7 $7 lic%Processo lic%Processo$rocesso0G $rocesso0G E/ere E/ere $rocesso0G%id]X $rocesso0G%id]X
84/97
Bin:rios
select select movimentos0G%$rocessoGid movimentos0G%$rocessoGidas as$rocessoSG=G1GC $rocessoSG=G1GC movimentos0G%id as id1GC movimentos0G%id as id1GC movimentos0G%id movimentos0G%idas asidJG0GC idJG0GC movimentos0G%data as movimentos0G%data asdataJG0GC dataJG0GC movimentos0G%descricao movimentos0G%descricaoas asdescricaoJG0GC descricaoJG0GC movimentos0G%n7mero as n7meroJG0GC movimentos0G%n7mero as n7meroJG0GC movimentos0G%$rocessoGid movimentos0G%$rocessoGidas as$rocessoSGJG0G $rocessoSGJG0G &rom &rom $7 $7 lic%#ovimento lic%#ovimentomovimentos0G movimentos0G E/ere E/ere movimentos0G%$rocessoGid]X movimentos0G%$rocessoGid]X
85/97
Bin:rios
( (cada cadaiterao iteraodo do"OR "ORdo domovimento movimento&azD &azD select select arI7ivos0G%movimentoGid arI7ivos0G%movimentoGidas asmovimentoVG11G1GC movimentoVG11G1GC arI7ivos0G%id as id1GC arI7ivos0G%id as id1GC arI7ivos0G%id arI7ivos0G%idas asidVG0GC idVG0GC arI7ivos0G%conte7doGid arI7ivos0G%conte7doGidas asconte7do=GVG0GC conte7do=GVG0GC arI7ivos0G%conte7doGti$o as arI7ivos0G%conte7doGti$o asconte7do2GVG0GC conte7do2GVG0GC arI7ivos0G%dataGveri&icacaoGassinat7ra arI7ivos0G%dataGveri&icacaoGassinat7raas asdata3GVG0GC data3GVG0GC arI7ivos0G%movimentoGid as movimentoVGVG0GC arI7ivos0G%movimentoGid as movimentoVGVG0GC arI7ivos0G%nome arI7ivos0G%nomeas asnomeVG0GC nomeVG0GC arI7ivos0G%signatario arI7ivos0G%signatarioas assignatarioVG0G signatarioVG0G &rom &rom $7 $7 lic%arI7iv0 lic%arI7iv0arI7ivos0G arI7ivos0G E/ere E/ere arI7ivos0G%movimentoGid]X arI7ivos0G%movimentoGid]X
86/97
87/97
select select $rocess0)0G%id $rocess0)0G%idas asidPG0GC idPG0GC movimentos1G%id as movimentos1G%id asidNG1GC idNG1GC $rocess0)0G%dataDistri $rocess0)0G%dataDistri 7icao 7icaoas asdataDist2GPG0GC dataDist2GPG0GC $rocess0)0G%n7mero as n7meroPG0GC $rocess0)0G%n7mero as n7meroPG0GC movimentos1G%data movimentos1G%dataas asdataNG1GC dataNG1GC movimentos1G%descricao movimentos1G%descricaoas asdescricaoNG1GC descricaoNG1GC movimentos1G%n7mero as n7meroNG1GC movimentos1G%n7mero as n7meroNG1GC movimentos1G%$rocessoGid movimentos1G%$rocessoGidas as$rocessoSGNG1GC $rocessoSGNG1GC movimentos1G%$rocessoGid as $rocessoSGPG0GGC movimentos1G%$rocessoGid as $rocessoSGPG0GGC movimentos1G%id movimentos1G%idas asid0GG id0GG &rom &rom $7 $7 lic%$rocess0 lic%$rocess0$rocess0)0G $rocess0)0G le&t o7ter !oin le&t o7ter !oin $7 $7 lic%moviment0 lic%moviment0movimentos1G movimentos1G on $rocess0)0G%id]movimentos1G%$rocessoGid on $rocess0)0G%id]movimentos1G%$rocessoGid E/ere E/ere $rocess0)0G%id]X $rocess0)0G%id]X
88/97
(gora (gorano no&az &aznadaC nadaC!: !:carrego7 carrego7os os movimentos na cons7lta anterior% movimentos na cons7lta anterior%
89/97
90/97
Batc/Size
91/97
Batc/Size
92/97
Batc/Size
93/97
Batc/Size
select select $rocess0)0G%id $rocess0)0G%idas asidPG0GC idPG0GC movimentos1G%id as movimentos1G%id asidNG1GC idNG1GC $rocess0)0G%dataDistri $rocess0)0G%dataDistri 7icao 7icaoas asdataDist2GPG0GC dataDist2GPG0GC $rocess0)0G%n7mero as n7meroPG0GC $rocess0)0G%n7mero as n7meroPG0GC movimentos1G%data movimentos1G%dataas asdataNG1GC dataNG1GC movimentos1G%descricao movimentos1G%descricaoas asdescricaoNG1GC descricaoNG1GC movimentos1G%n7mero as n7meroNG1GC movimentos1G%n7mero as n7meroNG1GC movimentos1G%$rocessoGid movimentos1G%$rocessoGidas as$rocessoSGNG1GC $rocessoSGNG1GC movimentos1G%$rocessoGid as $rocessoSGPG0GGC movimentos1G%$rocessoGid as $rocessoSGPG0GGC movimentos1G%id movimentos1G%idas asid0GG id0GG &rom &rom $7 $7 lic%$rocess0 lic%$rocess0$rocess0)0G $rocess0)0G le&t o7ter !oin le&t o7ter !oin $7 $7 lic%moviment0 lic%moviment0movimentos1G movimentos1G on $rocess0)0G%id]movimentos1G%$rocessoGid on $rocess0)0G%id]movimentos1G%$rocessoGid E/ere E/ere $rocess0)0G%id]X $rocess0)0G%id]X
94/97
Batc/Size
(gora (gorano no&az &aznadaC nadaC!: !:carrego7 carrego7os os movimentos na cons7lta anterior% movimentos na cons7lta anterior%
95/97
Batc/Size
select select arI7ivos0G%movimentoGid arI7ivos0G%movimentoGidas asmovimentoVG11G1GC movimentoVG11G1GC arI7ivos0G%id as id1GC arI7ivos0G%id as id1GC arI7ivos0G%id arI7ivos0G%idas asidVG0GC idVG0GC arI7ivos0G%conte7doGid arI7ivos0G%conte7doGidas asconte7do=GVG0GC conte7do=GVG0GC arI7ivos0G%conte7doGti$o as arI7ivos0G%conte7doGti$o asconte7do2GVG0GC conte7do2GVG0GC arI7ivos0G%dataGveri&icacaoGassinat7ra arI7ivos0G%dataGveri&icacaoGassinat7raas asdata3GVG0GC data3GVG0GC arI7ivos0G%movimentoGid as movimentoVGVG0GC arI7ivos0G%movimentoGid as movimentoVGVG0GC arI7ivos0G%nome arI7ivos0G%nomeas asnomeVG0GC nomeVG0GC arI7ivos0G%signatario arI7ivos0G%signatarioas assignatarioVG0G signatarioVG0G &rom &rom $7 $7 lic%arI7iv0 lic%arI7iv0arI7ivos0G arI7ivos0G E/ere E/ere arI7ivos0G%movimentoGid arI7ivos0G%movimentoGidin inA A XC XCXC XCXC XCXC XCXX HH
96/97
6tilizar
A vontade Hibernate Statistics Pa ina!"o I7er1%set"irstRes7ltAH Q O&&set I7er1%set#a)Res7ltsAH Q Limit Pool de cone#$es ($lication server * 0)D ,BOSS (S 23P0 Co% ca&tela S'l nativo ( Proced&res Desnor%ali)a!"o
97/97
Obri ado *+