Jump to content


Photo

Acelerar consultas


  • Please log in to reply
6 replies to this topic

#1 seoane

seoane

    Advanced Member

  • Administrador
  • 1259 posts
  • LocationEspaña

Posted 16 June 2009 - 11:32 AM

Hice una aplicacion que usa MySql como base de datos y me funcionaba de maravilla, hasta que la puse a trabajar con datos reales  :D ... ahi fue cuando me di cuenta de que diariamente se intrucen unos 20.000 registros nuevos y que las tablas estan creciendo a una velocidad asombrosa.

Segun van creciendo las tablas, las consultas a la base de datos se hacen mas lentas, aunque solo pida los datos de un dia las consultas se alargan muchisimo.

En resumen necesito consejos para acelerar las consultas. He pensado en cambiar de ADO a ZEOS y reaorganizar los indices pero aun asi, despues de algunas pruebas, creo que la cosa sigue un poco lenta. Teneis alguna idea mas.


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14469 posts
  • LocationMéxico

Posted 16 June 2009 - 11:39 AM

Vaya, esto lo habia escuchado en bases de datos del tipo de Access, DBase, pero de MySQL me suena mas a la forma como se tiene creada la sentencia SQL, si tienes algun indice o no, etc, incluso puede ser el medio de transmisión, lo poco que he visto para acelerar consultas es a través de procedimientos almacenados, eso agiliza de una manera excepcional los tiempos de respuesta en las consultas.

¿Podrí­as subir la consulta que haces para ver mas a detalle el asunto?

Salud OS
  • 0

#3 rgstuamigo

rgstuamigo

    Member

  • Miembros
  • PipPip
  • 33 posts
  • LocationSanta Cruz-Bolivia

Posted 16 June 2009 - 02:13 PM

Hice una aplicacion que usa MySql como base de datos y me funcionaba de maravilla, hasta que la puse a trabajar con datos reales  :D ... ahi fue cuando me di cuenta de que diariamente se intrucen unos 20.000 registros nuevos y que las tablas estan creciendo a una velocidad asombrosa.

Segun van creciendo las tablas, las consultas a la base de datos se hacen mas lentas, aunque solo pida los datos de un dia las consultas se alargan muchisimo.

En resumen necesito consejos para acelerar las consultas. He pensado en cambiar de ADO a ZEOS y reaorganizar los indices pero aun asi, despues de algunas pruebas, creo que la cosa sigue un poco lenta. Teneis alguna idea mas.

Chekea esto (h):http://www.baluart.n...consultas-mysql
  • 0

#4 root

root

    MR.

  • Miembro Platino
  • PipPipPip
  • 534 posts
  • LocationMexico D.F:

Posted 16 June 2009 - 04:36 PM

digo tambien es importante
la estructura de a base

para saber el tipo de datos y los indexados que tiene
  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 16 June 2009 - 06:13 PM

Hola
En las pocas pruebas que hice con MySql usando ADO era muy lento, casi insoportable, sin embargo con ZEOS la cosa cambio radicalmente.
El problema me da la impresion pasa por el ODBC que usa Mysql, si mas no me acuerdo.
Saludos
PD: Como que Access es lento?, yo lo pongo a volar. :D (y)
  • 0

#6 Kipow

Kipow

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 228 posts
  • LocationGuatemala

Posted 16 June 2009 - 08:09 PM

Yo tengo una aplicacion por ahi con regular carga de datos y todo bien. utilizo dbexpress para conectarme.
  • 0

#7 seoane

seoane

    Advanced Member

  • Administrador
  • 1259 posts
  • LocationEspaña

Posted 17 June 2009 - 05:06 AM

Perdon por tardar en responder.

No puedo poner mas detalles (tablas, consultas, etc). Pero creo que llega con decir que son tablas con pocos campos pero si muchos registros, unos 20.000 nuevos cada dia. En cuanto a las consultas, son simples "select" sobre una sola tabla, nada complicado, como mucho llevan un filtro por fecha.

Voy a probar usando ZEOS y siguiendo los consejos del enlace de rgstuamigo. Aunque me temo que voy a tener que replantearme la aplicacion, por lo menos la forma en que muestro las rejillas y los informes, para ver si puedo optimizar algo las consultas 
  • 0




IP.Board spam blocked by CleanTalk.