Fórum melhor maneira de retornar a quantidade de registros #280485
06/05/2005
0
Qual seria a melhor maneira de retornar a quantidade de registros encontrados em um select sem prejudicar muito a performance. Havia pensado em criar uma thread só para isso, seria viavel?
Alguma sugestão?
Steve Narancic
Steve_narancic
Curtir tópico
+ 0Posts
06/05/2005
Andremuller
Gostei + 0
06/05/2005
Steve_narancic
Gostei + 0
06/05/2005
Andremuller
Gostei + 0
06/05/2005
Steve_narancic
Gostei + 0
06/05/2005
Andremuller
Tem alguns componentes que realmente são ruins nesse método, por exemplo TSQLQuery e TSQLDataSet que reconsultam o banco
trocando o fields por count(*).
Só que o IBDataSet já faz o controle do RecordCount automaticamente, mesmo que você não o acesse, então não haveria perda de performance por buscar seu valor.
É isso?
Gostei + 0
06/05/2005
Yallebr
Select Count(Chave) as Total from Tabela.
É mais leve, pois vc busca apenas o resultado da chave.
Gostei + 0
06/05/2005
Steve_narancic
select * from clientes where NOME = ´JOAO´
Gostei + 0
06/05/2005
Andremuller
o que tu quer fazer?
1) Contar o número de Joãos?
2) Trazer os dados de todos os Joãos e também saber quantos você trouxe?
respostas
1)
select count(*) from clientes where NOME = ´JOAO´
2)
select * from clientes where NOME = ´JOAO´
e depois IBDataSet.RecordCount para ver quantos registros vieram.
Nesse caso, não reconsulte select count(*) from clientes where NOME = ´JOAO´ porque a manutenção da propriedade FRecordCount é feita de qualquer forma.
Gostei + 0
06/05/2005
Gandalf.nho
select COUNT(*) from clientes where NOME = ´JOAO´
Para usar RecordCount com IBDataset é necessário um FetchAll para trazer o resultado correto, o que não é bom em tabelas muito grandes.
Gostei + 0
06/05/2005
M4xell
Gostei + 0
06/05/2005
Yallebr
select * from clientes where NOME = ´JOAO´
Ai vc pode usar o RecordCOunt mesmo, pois não devem existir ´tantos João´ no seu banco de dados. Assim vc faz seu SQL e depois apenas da um RecordCount.
Mas o melhor é o q gandalf.nho falou. Já busca com o count.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)