FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
¿ Locate o TQuery ?
Hola:
Para la inmensa mayoria, seguro que esta es una pregunta tonta pero me gustaria saber vuestra opinion segun vuestras experiencias. Tengo una tabla Paradox en red con mas de 500.000 registros ( y creciendo ), actualmente, para localizar un solo registro utilizo el LOCATE (ahora la localizacion se hace eterna). Yo supongo que el locate recorre la tabla por completo registro por registro y comparando. ¿Me recomendais cambiar el locate por un query con su correspondiente sentencia sql?. Yo pienso que seria mas rapido pero esperare vuestras opiniones. Espero vuestras opiniones. Saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida. |
#2
|
||||
|
||||
Pues con ese número de registros yo crearía un índice y utilizaría:
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
pero con esa busqueda accedes al primero que encuentre, tendrias que hacer el indice con todos los campos que quieras que coincidan, no?
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida. |
#4
|
||||
|
||||
Como hablas de localizar un registro, entiendo que es clave única, sino lo dicho no tendría sentido pues como comentas solamente localizarías el primero.
Si buscas una coincidencia en la que pueden verse involucrados varios registros y además quieres visualizar los que coinciden en una rejilla, solamente puedes utilizar una Consulta o un filtro. Si quieres contar cuantos registros coinciden con un criterio entonces mejor utiliza una consulta. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
se trata de lo siguiente:
imaginate una tabla de ciudadanos, con nombre, apellido, direccion, telefono, etc, con 500.000 registros. Segun he entendido al definir el indice, tendria que añadir los campos nombre, apellido, direccion, etc.... y en el findkey supongo que seria tabla.findkey([variable1, variable2, ...., variablex]) Esta busqueda solo se hace para comprobar un determinado valor de un campo booleano (que tambien lo incluiria en el indice y en el findkey), no es para mostrar nada, si cumple esa condicion se hace una cosa y si no la cumple se hace otra. Este metodo del findkey es mas rapido que el locate (ahora mismo esa tabla esta sin indexar)? saludos.
__________________
El que pregunta es tonto durante 5 minutos, el que no pregunta es tonto para toda su vida. |
#6
|
|||
|
|||
En el caso del BDE, y de algunos otros motores, locate y findkey son igual de rápidos.
Sacado de la ayuda de delphi: Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Yo uso LOCATE y tu......... | JULIOCTORRESG | Varios | 1 | 02-03-2007 01:10:47 |
Locate | sanrp2004 | Varios | 3 | 21-06-2006 20:30:37 |
Sincronizar DBLookupComboBox con Tquery al hacer locate en la tabla | ronalg | Conexión con bases de datos | 1 | 27-05-2006 15:58:06 |
Locate en TQuery | andresenlared | Conexión con bases de datos | 1 | 31-12-2003 16:39:21 |
Locate | hgiacobone | Conexión con bases de datos | 6 | 08-07-2003 15:33:49 |
|