<span style="font-family: courier new,monospace;">Patty, <br><br>você já utilizou alguma ferramenta de 'trace analyser' do seu banco de dados para saber qual o comportamento destes selects ? Será que a pesquisa não está fazendo um 'table scan' por algum problema de índice.
<br><br>Como sou péssimo em algorítimos, conheço alguns malucos que só de ver o código já sabe o comportamento dele no compilado, utilizo duas abortagem na codificação. Primeiro atingir o objetivo de resultado (e parece que você já conseguiu com estas queries), e depois (se o desempenho não for satisfatório) utilizo as ferramentas que analisam o comportamento daquela rotina para saber onde está o gargalo.
<br><br>Para mim é difícil falar no quê melhorar com foco em desempenho sem saber outras informações, se o teu banco for muito grande isto pode ter comportamentos diferentes de um banco menor e manutenção de índices são alguns exemplos que influenciam o desempenho. De qualquer forma eu talvez faria a pesquisa de modo diferente, primeiro separo o que rolou nas últimas x horas e depois faria a pesquisa dentro deste universo já com todos o ID's. Pois assim eu acho que você diminui os universos de pesquisa e o consumo de I/O. Mas tente utilizar e compreender as ferramentas de 'performance analyser' do seu banco de dados, você vai ficar surpresa como estas ferramentas pode te ajudar.
<br><br>Solli M. Honório<br><br style="font-family: courier new,monospace;"></span><br><div><span class="gmail_quote">On 10/1/07, <b class="gmail_sendername">Patty Silva</b> <<a href="mailto:ptfzs@yahoo.com.br">ptfzs@yahoo.com.br
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Pessoal.. uma sugestao de vcs..<br>estou fazendo um programa que recupera o ID e ultima datahora que foi inserido no banco..e busco as ultimas 48 horas para aquela ID...
<br>Estou fazendo:<br><br><br>.<br>.<br>.<br><br>my $sql=qq{SELECT id,MAX(datahora) from table1 where datainc>=<br>timestamp '$aaaammdd $hour:00:00' - interval '3 hour' GROUP BY id ORDER BY id};<br><br>
$sth = $dbh->prepare($sql) || die $DBI::errstr;<br>$sth->execute || die $DBI::errstr;<br><br><br>while ( my @row = $sth->fetchrow_array( ) )<br>{<br><br> <br><br>my $sql2=qq{SELECT * from table1 where id='$row[0]' and datahora>=timestamp '$row[1]' - interval '48 hour' order by
datahora};<br><br> $sth2 = $dbh->prepare($sql2) || die $DBI::errstr;<br> $sth2->execute || die $DBI::errstr;<br><br> while ( my @row2 = $sth2->fetchrow_array( ) )
<br>
{<br> .. . ................<br> }<br> }<br><br> warn "Problema ao processar os resultados", $sth->errstr( ), "\n" if $sth->err( );
<br>
$sth->finish();<br> $sth2->finish();<br><br><br><br>Alguma sugestao:??? um problema eh que a 1 consulta demora d+.. :D<br><br>Obrigada<br><br><p>
Abra sua conta no <a href="http://br.rd.yahoo.com/mail/taglines/mail/*http://br.mail.yahoo.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Yahoo! Mail</a>, o único sem limite de espaço para armazenamento!
</p><br>_______________________________________________<br>Cascavel-pm mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mail.pm.org/mailman/listinfo/cascavel-pm" target="_blank">
http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>"o animal satisfeito dorme". - Guimarães Rosa