Quem é mais rápido usar o FindKey ou Usar um Select -Query?
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.
Desde já Agradeço pela atenção.
Luiscesarap
Curtidas 0
Respostas
Michael
13/01/2006
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
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
GOSTEI 0
Michael
13/01/2006
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
De qualquer forma continuo acreditando que o SQL do servidor é a melhor saída.
[]´s
GOSTEI 0
Aasn
13/01/2006
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
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
GOSTEI 0