Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-09-2004
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
Unhappy Mysql + ODBC muy lento con tablas grandes

Estoy utilizando mysql y accedo desde delphi por medio del Driver MySql OBDC 3.51.9.
El problema es que cuando intento activar una tabla demora demasiado (casi 20 segundos) hasta que hace la conexion. Esta tabla tiene 35000 registros.
Si lo conecto a una tabla con menos registros funciona mas rapido.
Que es lo que se debe hacer?
Gracias
Miguel
Responder Con Cita
  #2  
Antiguo 21-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por miguelb
Que es lo que se debe hacer?
En mi opinión dos cosas:

1. No usar ODBC. La capa de abstracción intermedia que supone ODBC siempre afectará en el rendimiento. En su lugar usa componentes más ad-hoc como podrían ser ZEOS (gratuitas) o DBExpress (incluidas con Delphi). La capa de abstracción en ambos casos es muy delgada y el rendimiento es óptimo.

2. No usar componentes de tipo Table ni, en general, consultas que devuelvan tal cantidad de registros. Cuando trabajas con servidores SQL es mejor que diseñes tus consultas de manera que devuelvan pocos registros. Esto no es lo restrictivo que parece, es simplemente acostumbrarse a que uno no tiene necesidad, en realidad, de ver 35000 registros al mismo tiempo. Por ejemplo, si el usuario necesita buscar un cliente de apellido SANCHEZ, dale la opción que se traduzca en una consulta del tipo

Código SQL [-]
select * from clientes where nombre like "%SANCHEZ%"

en lugar de arrojarle los 35000 clientes y obligarlo a desplazarse hasta encontrar el cliente que busca.

// Saludos
Responder Con Cita
  #3  
Antiguo 22-09-2004
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
lento con tablas ....

Roman:

Gracias por tu opinion,
pero
a. Entiendo que si cambio a ZEOS deberia cambiar todos los controles enlazados a datos. Es asi?
b. Dbexpress no esta incluido en delphi 5, en que delphi existe?. Que cambios implicarian el utilizar DBExpress.

Yo estoy migrando una aplicacion delphi 5 con paradox a mysql, y estaba utilizando obdc.


Muchas gracias
Responder Con Cita
  #4  
Antiguo 22-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
a. No. Las componentes ZEOS se conectan a cualquier componente DBAWare como DBEdits, DBGids, etc.

b. Supongo que a partir de Delphi 6. Pero si no tienes planeado migrar el sistema a Kylix puedes prescindir de DBExpress y utilizar Zeos. DBExpress entiendo que es útil para aplicaciones multi-plataforma.

// Saludos
Responder Con Cita
  #5  
Antiguo 23-09-2004
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
ZEOS DBExpress

Antes que nada muchas gracias por tus respuestas.
Luego,
que es lo que me conviene utilizar (Zeos o DBExpress)?
Cual es mejor o mas eficiente o mas simple?
No tengo pensado migrar a Kylix pero tampoco quisiera abandonar esa posibilidad.
Entonces arranco para el lado de DBExpress?

Vuelvo a agradecerte por tu proxima respuesta,

Miguel
Argentina
Responder Con Cita
  #6  
Antiguo 24-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por miguelb
Entonces arranco para el lado de DBExpress?
Realmente mi experiencia es poca como para dar una opinión definitiva. Pero creo que usar tal o cual componente basados en una remota posibilidad de que algún día pudiera darse el caso de migrar a otra plataforma, no es una razón suficiente.

Las veces que he usado DBExpress me ha dado lata el driver de MySql. La realidad es que Borland no pone mucha atención a este tipo de bases de datos.Ya anteriormente se mencionó en los foros que hay drivers de otras compañías como Core Lab para DBExpress que funcionan mejor que el que incluye Delphi. Sin embargo son de pago y por otra parte dicha compañía también maneja componentes de acceso a MySql. Yo los he visto por encima y mi impresión es que son bastante buenos y mejores que Zeos y los puedes conseguir desde $70 dolares (y hay versiones de evaluación).

Bueno, creo que aumenté la confusión pero, como te digo, no puedo darte una opinión experta. En tu caso yo optaría por ZEOS si no quiero pagar o por Core Lab si estoy dispuesto a pagar.

// Saludos
Responder Con Cita
  #7  
Antiguo 27-09-2004
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
Como arranco con Zeos?

Roman:
Cuando recibi tu respuesta ya habia comenzado con algo de DbExpress, igualmente deje una consulta en este mismo foro pues tengo algunos inconvenientes con libmysql.dll.
No estoy seguro por donde seguir, por lo que quiero ir viendo ambas alternativas (DbExpress y Zeos).
Como arranco con Zeos? que debo bajar e instalar?
Desde ya muchas gracias
Miguel
Argentina
Responder Con Cita
  #8  
Antiguo 27-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por miguelb
Como arranco con Zeos? que debo bajar e instalar?
De la página de Zeos, en la sección de descargas, bajas las componentes ZEOS DBO 6.1.5 y las instalas. Con el Zip vienen las instrucciones para instalar (son muy sencillas y rápidas).

// Saludos
Responder Con Cita
  #9  
Antiguo 28-09-2004
miguelb miguelb is offline
Miembro
 
Registrado: may 2003
Ubicación: Entre Rios - Argentina
Posts: 69
Poder: 21
miguelb Va por buen camino
Estoy avanzando

Gracias por tus opiniones, ya estoy avanzando con Zeos Lib.

Tienen idea donde conseguir un buen tutorial (muy completo) y en castellano del uso de los componentes Zeos y de SQL?

gracias
Miguel
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 01:58:50.


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