<span style="font-family: courier new,monospace;">Patty, <br><br>você já utilizou alguma ferramenta de &#39;trace analyser&#39; do seu banco de dados para saber qual o comportamento destes selects ? Será que a pesquisa não está fazendo um &#39;table scan&#39; 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&#39;s. Pois assim eu acho que você&nbsp; diminui&nbsp; os&nbsp; universos de pesquisa e o consumo de I/O. Mas tente utilizar e compreender as ferramentas de &#39;performance analyser&#39; 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> &lt;<a href="mailto:ptfzs@yahoo.com.br">ptfzs@yahoo.com.br
</a>&gt; 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&gt;=<br>timestamp &#39;$aaaammdd $hour:00:00&#39; - interval &#39;3 hour&#39; GROUP BY id ORDER BY id};<br><br>
$sth = $dbh-&gt;prepare($sql) || die $DBI::errstr;<br>$sth-&gt;execute || die $DBI::errstr;<br><br><br>while ( my @row = $sth-&gt;fetchrow_array( ) )<br>{<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br>my $sql2=qq{SELECT * from table1 where id=&#39;$row[0]&#39; and datahora&gt;=timestamp &#39;$row[1]&#39; - interval &#39;48 hour&#39; order by
 datahora};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sth2 = $dbh-&gt;prepare($sql2) || die $DBI::errstr;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sth2-&gt;execute || die $DBI::errstr;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ( my @row2 = $sth2-&gt;fetchrow_array( ) )
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .. . ................<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; warn &quot;Problema ao processar os resultados&quot;, $sth-&gt;errstr( ), &quot;\n&quot; if $sth-&gt;err( );
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 $sth-&gt;finish();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sth2-&gt;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>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa