Fórum Quem é mais rápido usar o FindKey ou Usar um Select -Query? #309120

13/01/2006

0

Quem é mais rápido e por que? Usando um findkey tenho um índice criado, mas sei que pela query posso direcionar a pesquisa filtrando pelo campo.

Desde já Agradeço pela atenção.


Luiscesarap

Luiscesarap

Responder

Posts

13/01/2006

Michael

Olá!

Isso depende da tecnologia de acesso que vc está utilizando. Se for dbExpress, por exemplo, o método [b:8c0acc127c]FindKey [/b:8c0acc127c]vai pesquisar no [b:8c0acc127c]DataSet [/b:8c0acc127c]que já está em memória, e por isso será obviamente mais rápido do que uma nova consulta no servidor.

Se estiver trabalhando com um cursor dentro da tabela, diretamente no banco de dados, o SQL tende a ser mais rápido, pois ele tbm vai usar os índices criados para os campos da tabela.

[]´s


Responder

Gostei + 0

13/01/2006

Michael

Complementando meu post anterior: há anos que não trabalho com [b:6796d5e4a2]IBExpress [/b:6796d5e4a2]ou [b:6796d5e4a2]BDE[/b:6796d5e4a2], então não posso dizer com certeza se [b:6796d5e4a2]FindKey [/b:6796d5e4a2]é mais rápido do que um SQL. Raríssimas foram as vezes que usei este método ou [b:6796d5e4a2]Locate[/b:6796d5e4a2], por exemplo. Talvez alguma otimização tenha sido feita. Algum expert em BDE ou tecnologias afins pode responder melhor do que eu. ;-)

De qualquer forma continuo acreditando que o SQL do servidor é a melhor saída.

[]´s


Responder

Gostei + 0

14/01/2006

Aasn

Caro woz,

a questão é simples, uma vez que os dados já estão na memória ou em um dataset já aberto, certamente o FindKey será mais rápido, agora se vc tiver que abrir a tabela/dataset, dependendo da quantidade de registros, o select seja a melhor opção.

[]´s
AASN


Responder

Gostei + 0

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

Aceitar