Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Aqui solo veo 2 campos a buscar de 3 tablas.
Tabla T1 Campos TIPO, TipoPerfilId
Tabla T2 Campos NOMBRE, Perfil
Tabla T3 Campos NOMBRE, serie1

No entiendo por que se hace lento el proceso, esta consulta access la hace en fracción de segundos.

Hago consultas con mas tablas y mas campos y no tardan ni un parpadeo.
Para mi que algo estas haciendo mal ya que access no influye en esto.
Otra cosa: Jamas haría que la Tabla completa estuviera en memoria, se alentaría el programa y mucho menos para una simple consulta.
Access tiene un generador de consultas sql, ahí es donde puedes perfeccionar la como la necesites, solo copia y pega esa consulta en delphi y ya.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #2  
Antiguo 04-04-2010
JF Sebastian JF Sebastian is offline
Miembro
 
Registrado: oct 2006
Posts: 108
Poder: 20
JF Sebastian Va por buen camino
He medido el tiempo que tarda en hacer la consulta con locate y es inferior a 0.05 s
Influye el master-detail en el tiempo de búsqueda con locate??
La tabla T3 tiene sólo unos 5000 registros pero con unos 40 campos

Un saludo
Responder Con Cita
  #3  
Antiguo 04-04-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por JF Sebastian Ver Mensaje
He medido el tiempo que tarda en hacer la consulta con locate y es inferior a 0.05 s
Influye el master-detail en el tiempo de búsqueda con locate??
La tabla T3 tiene sólo unos 5000 registros pero con unos 40 campos
Un saludo
Entonces, en qué momento es lento?
Responder Con Cita
  #4  
Antiguo 04-04-2010
JF Sebastian JF Sebastian is offline
Miembro
 
Registrado: oct 2006
Posts: 108
Poder: 20
JF Sebastian Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Entonces, en qué momento es lento?
Cuando en la tabla T3 hay unos cientos de registros activos por el master/detail
Cuando hay 20 registros tarda 7 minutos en realizar el cálculo completo
Cuando hay 200 registros tarda más de 120 minutos
Siendo en ambos casos la misma estructura y el mismo número de iteraciones, todo igual, solo variando el tipo de perfil a buscar entre el número indicado arriba (20 y 200)

Última edición por JF Sebastian fecha: 04-04-2010 a las 20:01:48.
Responder Con Cita
  #5  
Antiguo 04-04-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Pues sí, haría falta ver cómo lo haces, precisamente el amigo que comenté antes tiene algo parecido pero para una fábrica de muebles de madera y necesita hacer lo mismo que tus cálculos para aprovechar lo mejor posible todo el material.
Y lo hizo en access con sql. Le pregunté y me ha dicho que no tiene ningún problema de velocidad. Lleva funcionando con ese programa desde hace unos 15 años y lo ha ido modificando y ampliando, incluso lo han instalado en otras fábricas de muebles y no se quejan de velocidad.
Así que sería necesario ver tu código, estructuras, etc. para poder echarte una mano.
Responder Con Cita
  #6  
Antiguo 04-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Segun entiendo el Locate se hace con un AdoTable, es casi un filtro.
Esto se quiera o no trae todos los registros.
Con un AdoQuery el asunto es muy diferente, la velocidad es muy superior.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #7  
Antiguo 04-04-2010
JF Sebastian JF Sebastian is offline
Miembro
 
Registrado: oct 2006
Posts: 108
Poder: 20
JF Sebastian Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Hola
Segun entiendo el Locate se hace con un AdoTable, es casi un filtro.
Esto se quiera o no trae todos los registros.
Con un AdoQuery el asunto es muy diferente, la velocidad es muy superior.
Saludos
El problema es que necesito situar el cursor de la base de datos en el registro para poder leer todos los campos, son como ya he dicho unos 40.
Esto lo hago con locate.
He intentado hacerlo con AdoQuery, pero como necesito leer todos los campos tarda practicamente los mismo.

Por cierto, he tenido problemas para localizar un campo integer con locate, ¿Sólo busca textos?
Responder Con Cita
  #8  
Antiguo 04-04-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Si te digo la verdad... no entiendo la situación, dices que tarda 120 minutos en hacer qué?, en hacer un cálculo (o un millón de cálculos), en recorrer 200 registros (pero cuántas veces), y el cálculo ese cuánto tarda, cada uno?.
Responder Con Cita
  #9  
Antiguo 05-04-2010
JF Sebastian JF Sebastian is offline
Miembro
 
Registrado: oct 2006
Posts: 108
Poder: 20
JF Sebastian Va por buen camino
Gracias por vuestras respuestas.

Al final he creado una clase que contiene para cada barra todos los perfiles de esa serie con un array of array dinámico.
El rendimiento en velocidad es unas 10 veces superior al de acceso a la base de datos. Como el cálculo es muy intesivo, merece la pena...

Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
FastReport con tablas en memoria David Impresión 2 29-01-2013 17:43:37
Tablas o consultas en memoria jmdd SQL 3 08-08-2007 19:26:19
out of memory con tablas en memoria jrmanso Firebird e Interbase 8 20-06-2007 21:57:37
Asesoramiento: ¿Tablas temporales, datos en memoria...? kuan-yiu Varios 15 21-08-2006 20:25:35
TADOTable al completo en memoria??? Pandre Conexión con bases de datos 2 15-11-2003 03:07:57


La franja horaria es GMT +2. Ahora son las 12:09:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi