[firebase-br] Ajuda na consulta

Alysson Gonçalves de Azevedo agalysson em gmail.com
Seg Set 20 12:20:20 -03 2010


Bem, quanto a performace, talvez ficará lento dependendo de como vc fizer...
não tenho experiencia o suficiente para saber como ficaria...

agora sobre a indexação... bem, desde que tenha os order by exatamente como
eu te mostrei, vai sim (bem, eu num testei, mas segundo meu compilador
mental, funcionará)

faz uma tabela simples, com os campos que usei de exemplo (codigo e nome),
preenche ela com uns 30 registros e faz o teste...
ai vc posta aki como retornou, qualquer erro, te ajudo a arrumar (se bem que
acredito que vc sera capaz de resolver sozinho)

Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)

"Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
gritando: -Perdi tudo!!!"




Em 20 de setembro de 2010 11:36, Igor Alves <igor.alvez em gmail.com> escreveu:

> nesse caso so funcionaria se a tabela fosse indexada, correto?
>
> o problema é qeu a mesma não está indexada.
>
> Igor Alves
> Analista do Sistema RH - MB Solutions
> Pós-Graduando em Banco de Dados com Ênfase em Alta Disponibilidade -
> UNIFACS
> Tel: (71)8812-8670
>
>
> Em 20 de setembro de 2010 10:53, Alysson Gonçalves de Azevedo <
> agalysson em gmail.com> escreveu:
>
> > Bem, para trazer N registros, use select first N * from...
> > no caso, para trazer 10 registros, select first 10 * from...
> >
> > só que skip não fucionará não...
> > pois ele não quer pular um determinado numero de registros e sim 10
> > registros antes e 10 depois...
> >
> > nesse caso, acredito que um union sera necessario...
> > algo assim:
> >
> > select codigo, nome, valor from (
> >  select first 10 codigo, nome, valor from tabela where codigo < :codigo
> > order by codigo desc
> >  union
> >  select codigo, nome, valor from tabela where codigo = :codigo
> >  union
> >  select first 11 codigo, nome, valor from tabela where codigo > :codigo
> > order by codigo
> > ) order by codigo
> >
> > vc pode fazer essa query apenas com 2 selects, mas para facilitar o
> > entendimento, fiz com 3...
> > talvez vc ache solução melhor que essa, mas tente começar com algo assim
> >
> > Alysson Gonçalves de Azevedo
> > (11) 8491-7730
> >
> > (\(''^_^ )/)
> >
> > "Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
> > gritando: -Perdi tudo!!!"
> >
> >
> >
> >
> > Em 20 de setembro de 2010 10:30, Igor Alves <igor.alvez em gmail.com>
> > escreveu:
> >
> > > Gostaria de uma ajuda com o seguinte problema:
> > > No retorno da consulta eu preciso selecionar os 'N' registro anteriores
> e
> > > os
> > > 'N' registros posteriores a uma determinada posição, por exemplo a
> > consulta
> > > volte 100 linha de dados, e eu informo a linha 11 e quero que retorne
> os
> > > dados da linha 1 até a linha 10 e da linha 12 até a 21 (caso N seja
> 10).
> > >
> > > No Oracle eu usaria a função ROWID, porém no firebird(versão 1.5 e
> 2.1.3)
> > > eu
> > > não sei qual é a função similar, alguém poderia me ajudar?
> > >
> > > Igor Alves
> > > Analista do Sistema RH - MB Solutions
> > > Pós-Graduando em Banco de Dados com Ênfase em Alta Disponibilidade -
> > > UNIFACS
> > > Tel: (71)8812-8670
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista