![]() |
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 |
Cita:
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
en lugar de arrojarle los 35000 clientes y obligarlo a desplazarse hasta encontrar el cliente que busca. // Saludos |
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 |
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 |
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 |
Cita:
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 |
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 |
Cita:
// Saludos |
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 |
La franja horaria es GMT +2. Ahora son las 02:51:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi