Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
595
Assunto : SQL Server
Titulo: Evite cursores sempre que possível

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Que os cursores são pesados, muitos sabem. Mas sempre é bom reforçar um pouquinho mais e insistir nas boas práticas : Evite ao máximo fazer uso de cursor.

Para reforçar um pouco mostramos abaixo dois algorítimos, veja :


declare x cursor for select au_id, au_fname,au_lname from authors
declare @au_id varchar(20)
declare @au_fname varchar(50)
declare @au_lname varchar(50)

open x
Fetch next from x into @au_id,@au_fname,@au_lname
while @@fetch_Status=0
Begin
select @au_id,@au_fname,@au_lname
Fetch next from x into @au_id,@au_fname,@au_lname
end
close x
deallocate x

=======================================================

declare @au_id char( 11 )

set rowcount 0
select au_id,au_lname,au_fname into #mytemp from authors

set rowcount 1

select @au_id = au_id from #mytemp

while @@rowcount <> 0
begin
set rowcount 0
select au_id,au_lname,au_fname from #mytemp where au_id = @au_id
delete #mytemp where au_id = @au_id

set rowcount 1
select @au_id = au_id from #mytemp
end
set rowcount 0


Ambos os algorítimos fazem o tratamento dos dados da tabela authors linha por linha. Mas, conforme vocês poderão observar, o algorítimo que evita os cursores e opta por uma tabela temporaria é bem mais rápido do que o algorítimo com uso de cursores.



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 1/10/2005 3:56:00 PM
nome: JSB
email: janailson_barbosa@hotmail
comentário:
O fato não é saber qual é mais rápido, e sim, saber porque e a % de rapidez de uma com a outra.

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br