RE: Res: [firebase-br] Nº Sequencial em um select

Rubem Nascimento da Rocha djpardalrocha em hotmail.com
Qua Set 19 23:47:15 -03 2007


Para os que reclamaram da lentidão do resultado deste SQL que resolve o problema de número sequencial, se analisarem chegaram a uma conclusão quase óbvia de que não existe o uso de índices na ordenação em função da ordenação ser baseada no RDB$DB_KEY de cada linha da tabela customer.
 
Pra quem não sabe, RDB$DB_KEY é uma espécie de identificação interna da linha em uma tabela de um banco de dados FireBird que o próprio SGBD atribui.
 
Pra ter melhor performance, é só basear o ORDER BY da seqüência numérica em um campo que tenha índices, ou seja:
 
  select (select count(*)             from customer c2            where c2.customer < c1.customer) + 1 item, c1.*    from customer c1order by c1.customer
Sds.
> From: djpardalrocha em hotmail.com> To: lista em firebase.com.br> Subject: RE: Res: [firebase-br] Nº Sequencial em um select> Date: Thu, 20 Sep 2007 01:20:21 +0000> > > Então tá! Como tô vendo que ninguém tá com saco pra consultar as mensagens antigas da lista e sim de querer a receita do bolo pronta, aí vai um exemplo de como fazer número sequencial sem SP ou GENERATOR, usando apenas SQL:> > select (select count(c2.rdb$db_key)> from customer c2> where c2.rdb$db_key < c1.rdb$db_key) + 1 item,> c1.*> from customer c1> order by c1.rdb$db_key> > Rodem isto no banco de dados EMPLOYEE de exemplo que vem com o FireBird 1.5 ou maior. Depois de verem o resultado, estudem esse SQL!> > Pronto, falei!> Sds.> > > Date: Wed, 19 Sep 2007 22:10:36 -0300> > From: unixkiller em gmail.com> > To: lista em firebase.com.br> > Subject: Re: Res: [firebase-br] Nº Sequencial em um select> >> > É Rubem, você criticou mas não deu nenhuma sugestão..> >> > Talvez o seu comentário tenha sido meio inútil colega..> >> > ______________________________________________> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br> > Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa> > _________________________________________________________________> Receba as últimas notícias do Brasil e do mundo direto no seu Messenger com Alertas MSN! É GRÁTIS!> http://alertas.br.msn.com/
_________________________________________________________________
Conheça o Windows Live Spaces, a rede de relacionamentos conectada ao Messenger!
http://spaces.live.com/signup.aspx


Mais detalhes sobre a lista de discussão lista