Ver Mensaje Individual
  #4  
Antiguo 14-05-2003
jceluce jceluce is offline
Miembro
 
Registrado: may 2003
Ubicación: Mar del Plata - Argentina
Posts: 29
Reputación: 0
jceluce Va por buen camino
La respuesta depende del tipo de base de datos que estás usando:

Si usas C/S (Interbase, SQL Server, etc.): NO SE DEBE USAR LOCATE. hay que usar sentencias SQL ej.:

select * from Articulos where ArtiCod = 'M15200'

El locate busca sobre el resultado de la consulta, es decir si haces un select * from Tabla, que te devuelve 100000 registros, tu aplicacion se lee los 100000 registros, los almacena en un buffer (dentro del objeto TQuery, TIBQuery, TIBDataset, etc.) y luego busca dentro de ese buffer. Por eso es lento.

Si usas tablas Paradox la cosa cambia, ya que Locate puede hacer uso de los indices, si están definidos, y realizar la consulta en forma más eficaz. En mi experiencia personal he obtenidos mejores resultados usando FindKey en vez de Locate.
__________________
Saludos

Javier
Responder Con Cita