FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Rendimiento de Lookup vs Locate
Tengo una aplicacion que hace uso intensivo de busquedas ya que para cada grupo de controles los asocia con un dataset realizando una serie de comprobaciónes según condiciones y existencia o no en cierta y determinada tabla que contiene dichas restricciones, por tal razón recorre constantemente esta (que si bien es pequeña en cuanto a numero de registros) me pregunto si utilizando lookup en vez de locate seria mas eficiente en cuanto al uso de los recursos .....
Saludos |
#2
|
||||
|
||||
Sino tenés problemas de eficiencia yo no tocaría nada, como se dice por ahí, optimizar antes de tiempo es la raíz de todos los males
A lo sumo podes cargar de prueba un montón de registros y probar Tampoco diste detalles sobre que tipo de componentes usas, ya que cada uno implementará de manera diferente los métodos, o incluso tiene métodos propios que son mejores. También importa el tipo de campo, los índices y si es un dataset conectado a un control data aware, etc |
#3
|
|||
|
|||
En teoria no hay problemas de excesivo consumo de recursos
Sin embargo optimizar nunca esta de mas....
Gracias por tus sugerencias ... |
#4
|
||||
|
||||
En realidad si
Si no tenes problemas deberias dejar todo como esta. Si siempre van a ser pocos registros no vas a tener problema con el locate. Si son muchos registros la pregunta es, porque estas lanzando un locate sobre un Dataset con tantos registros? Lo mas logico es directamente traer un Dataset mas "filtrado" (tip: ejecutar SQL y traer el resultado sobre un TDataset es MUCHO mas rapido que traer todo y luego ejectar "el equivalente", ya sea locate, filter, order, etc) Otro buen truco es, siempre que se va a realizar un proceso potencialmente largo sobre un Dataset, que esta enlazado a un control db, deshabilitar el enlace momentaneamente y volver a activarlo cuando termina el proceso masomenos asi:
|
#5
|
||||
|
||||
Para hacer búsquedas, ni uno ni otro. Hay que usar query.
|
#6
|
|||
|
|||
Es solo por optimizar
la verdad son muy pocos registros en los que debo aplicar el locate, no llegan a 100(proyectando a futuro) como aclare es por optimizar y la verdad no conocia el lookup y eventualmente choca el reposicionamiento a nivel de registros en una tabla, sobre todo cuando esta esta enlazada a un componnente visual como un grid ( claro ya se que se puede aplicar el disablecontrols) pero bueno como dije a veces veo el codigo y me apetece buscarle la vuelta para mejorarlo
|
#7
|
||||
|
||||
Hola Kenobi.
El método Lookup internamente usa el método Locate (que no es ninguna maravilla). Así que hablando en términos de eficiencia, coincido con Casimiro; nada mejor que usar una consulta sql. Aunque siendo sinceros, tratándose de esa cantidad de datos (100 filas), no vas a notar diferencia cualquiera sea el camino que elijas. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con Locate y Lookup | cubanbaker | Conexión con bases de datos | 21 | 08-09-2011 16:01:25 |
rendimiento de PHP | Ñuño Martínez | PHP | 1 | 20-09-2006 06:29:55 |
Busqueda con Locate o Lookup | noshy | Conexión con bases de datos | 7 | 15-05-2006 01:45:02 |
Locate en un campo lookup | amadis | Conexión con bases de datos | 1 | 22-12-2005 21:46:52 |
rendimiento | carlomagno | Firebird e Interbase | 14 | 06-07-2004 17:05:13 |
|