Cita:
|
Empezado por Carlex
pero hasta donde lei en el manual de delphi, el locate es una funcion muy rapida para encontrar una llave o campo
|
Yo diría que el locate es una función que te permite encontrar de manera fácil un registro en base a cualquier campo... pero de eso a que sea
muy rápida..., yo diría mas bien, ineficiente. Esto lo digo por definición... ya verás.
Cita:
|
Empezado por Carlex
y si estoy usando SQL server 2000 es por que debo manejar un a BD de mas de 80 mil datos
|
Has considerado otras opciones?
¿Firebird por ejemplo?
Cita:
|
Empezado por Carlex
y mi preocupacion es que las busquedas tarden demasiado, por eso no use un query, ya que en algunas tablas debo controlar la duplicidad de una llave, en otros casos un campo X.
|
Creo que en ningun caso puede ser mas rápido un método de búsqueda en el cliente que un query contra el servidor. El cliente no tiene mas que un mar de datos en los que moverse secuencialmente, además, deberá hacer viajar por la red tantos registros como sea necesario para ubicar el buscado. En cambio el servidor, tiene a su disposición indices y un motor de optimización de consultas que por algo se habrán matado los programadores haciendo...

Además de tener los datos en el disco local y, dependiendo de las características del motor, hasta podria mantenerlos en memoria RAM (si son datos de acceso frecuente).
Lo que hará falta es que tengas los indices adecuados para que las consultas que lances puedan obtener una respuesta rápida.
Es mi opinión personal, claro. Puede que haya alguna implementación eficiente del locate (depende de las clases de acceso a datos que uses)... pero no se me ocurre una implementación eficiente que no se valga de un query directo contra la bd...
Hasta luego.
