[firebase-br] Duvida (Lentidão com count)

Paulo H Albanez phalbanez em gmail.com
Sexta Novembro 6 15:03:45 -03 2020


Não acho que tenha outra solução, se precisa do count(*) utilize não deve
ser tão lento nas nossas bases, pelo menos na minha é bem rápida, tente
evitar ao máximo.

Paginação é uma prática de mercado, mas não concordo com ela, acho que
sacrifica o banco, tem que fazer um count(*) para saber quantos registros,
depois um select para cada página selecionada, além disso num ambiente de
alta concorrência quando for buscar outra página os dados podem ter sido
alterados e faltar ou repetir registros em alguns casos.

Prefiro limitar o select com uns 500 registros e fazer a paginação no
cliente, claro sempre utilizar o máximo de filtros possíveis na consulta.

Atenciosamente,

Paulo Henrique Albanez (PHA)
VirtualSystem Informática Ltda
Nova Odessa / SP - Brazil


Em sex., 6 de nov. de 2020 às 14:34, Pedro Rizatto Manoel via lista <
lista em firebase.com.br> escreveu:

> Boa tarde !!
>
> Estava dando uma pesquisada e achei este artigo
> https://www.firebase.com.br/artigo.php?id=2100
> "
> Queries
> Antes de qualquer coisa, foi executado um *select count(*)* em diversas
> tabelas (conforme a tabela 4). Como você deve saber, devido à natureza  de
> múltiplas versões utilizada no Firebird, executar um  *select count(*)*
> para
> um tabela completa é uma operação bastante custosa para o servidor, pois
> faz com que ele acesse todas as páginas, portanto, usuários experientes do
> FB não costumam fazer isso, mas resolvemos fazer isso para mostrar a
> performance geral do BD e do hardware.
> "
>
> achei muito bom estas informações.
>
> Mas estou com um problema com o count pq eu preciso dele para pegar o total
> de registro da tabela para fazer a paginação. Teria outro modo para eu
> pegar este total sem dar um count ?
>
> Desde ja Agradeço.
>
> Pedro Manoel
> (14)99705-0989
> ______________________________________________
> 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://www.firebase.com.br/pesquisa_lista.html
>


Mais detalhes sobre a lista de discussão lista