[Cascavel-pm] Verificar se veio dados do banco
Gilmar Santos Jr
gilmarjr em dcc.ufba.br
Quarta Dezembro 13 10:48:44 PST 2006
Eden Cardim escreveu:
> Precisamente, e se usar DBIx::Class, a consulta é trocada
> automaticamente, de acordo com o contexto.
>
Uau!
DBIx::Clas+++++++ :)
Não tenho certeza, mas acho que $sth->rows executa a query normalmente,
armazena os resultados e retorna quantos tem. No caso da DBIx::Class (ou
se for feito um select count(*) na mão) não há gasto de memória extra
armazenando-se o resultado.. alguém sabe mais sobre isso? Estou chutando. :)
Nesse código:
if($result = $schema->resultset('Teste')) { #select count...
$row = $result->next;
#fazer algo com a primeira $row
$row = $result->next;
#fazer algo com a segunda $row
#etc...
}
No if se faz um select. Mas para o primeiro next, pelo menos, deve haver
outro. De repente nesse contexto seria interessante fazer logo a query
no if, pois se não retornar resultados não há diferença entre uma forma
e outra. Já se retornar fazendo um "select count" obriga a fazer um
select "normal" depois, ou seja, há 2 consultas ao invés de uma...
A vantagem que vejo nesse método é se a única informação necessária é de
fato quantos elementos são retornados e não os elementos em si...
Me corrijam se estiver falando besteira :)
[]'s
Gilmar
Mais detalhes sobre a lista de discussão Cascavel-pm