Fórum Restringir numero de registros retornados no FireBird #45708

28/07/2004

0

Olá pessoa...


como faço para restringir o número de registros retornados em uma consulta realizada no FireBird 1.0 e 1.5?

Por ex... tenho uma tabela com 50000 registros e gostaria de retornar apenas os 500 primeiros, visto que o banco sera acessado em um servidor externo a empresa, então necessitaria de diminuir o trafego na rede, pois estarei dependendo de uma boa otimização das consultas para obter uma boa performace...

Sabe-se que em alguns bancos apesar de termos este recurso (ex. RowCount) é retornado para o usuario o valor informado, porém a pesquisa é realizada de forma integral... ou seja, se tivermos 1000 registros e pedirmos apenas 10, a serão pesquisados 1000 registros e retornados apenas 10, o que irá implicar em nenhum ganho na performace do aplicativo...

Obrigado!

[]s
Daniel


Danielnascimento

Danielnascimento

Responder

Posts

29/07/2004

Maicongabriel

Olá pessoa... como faço para restringir o número de registros retornados em uma consulta realizada no FireBird 1.0 e 1.5? Por ex... tenho uma tabela com 50000 registros e gostaria de retornar apenas os 500 primeiros, visto que o banco sera acessado em um servidor externo a empresa, então necessitaria de diminuir o trafego na rede, pois estarei dependendo de uma boa otimização das consultas para obter uma boa performace... Sabe-se que em alguns bancos apesar de termos este recurso (ex. RowCount) é retornado para o usuario o valor informado, porém a pesquisa é realizada de forma integral... ou seja, se tivermos 1000 registros e pedirmos apenas 10, a serão pesquisados 1000 registros e retornados apenas 10, o que irá implicar em nenhum ganho na performace do aplicativo... Obrigado! []s Daniel


O recurso ´First´ não existe para o Firebird 1.0, mas existe para o Firebird 1.5, assim como ´Rows´ existe para Interbase, a partir da versão 6.5.

A sintaxe é ::
SELECT FIRST NumeroRegistros SKIP NumeroPular Campo FROM Tabela

Se por exemplo quiser os 20 primeiros clientes da tabela de clientes, porem ignorando os 5 primeiros, teria uma Select, mais ou menos assim::
SELECT FIRST 20 SKIP 5 CODIGO FROM CLIENTES



Responder

Gostei + 0

29/07/2004

Danielnascimento

OK... o Firebird 1.0 não possui nenhum recurso neste estilo?


Responder

Gostei + 0

30/07/2004

Maicongabriel

OK... o Firebird 1.0 não possui nenhum recurso neste estilo?

Infelizmente não! Pois como é de conhecimento geral, o FB se originou do IB 6. O recurso Rows foi implementado no Interbase na versão 6 e logo a equipe do Firebird criou tal recurso(First) para o Firebird 1.5.
Experimente migrar sua base para o servidor 1.5 do FB, você só tem a ganhar, pois o FB 1.5 é um tanto mais rápido que o 1.0x, sem contar o incremento de tais recursos, que o deixam ainda melhor! :wink:
:arrow: para migrar não é dificil!


Responder

Gostei + 0

31/07/2004

Afarias

|o Firebird 1.0 não possui nenhum recurso neste estilo?

SIM! O recurso FIRST/SKIP está no Firebird desde sua versão 1.0


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar