7 messages in com.mysql.lists.mysql-esRe: Trabajar con Tablas Grandes...| From | Sent On | Attachments |
|---|---|---|
| Jordi Escola (Pricewin) | 03 Jul 2007 00:16 | |
| Grover Campos A. | 03 Jul 2007 07:49 | |
| Jordi Escola (Pricewin) | 03 Jul 2007 08:07 | |
| Andrés G. Montañez | 03 Jul 2007 08:27 | |
| Grover Campos A. | 03 Jul 2007 08:50 | |
| Andrés G. Montañez | 03 Jul 2007 08:55 | |
| Jordi Escola (Pricewin) | 03 Jul 2007 10:04 |
| Subject: | Re: Trabajar con Tablas Grandes...![]() |
|---|---|
| From: | Andrés G. Montañez (andr...@gmail.com) |
| Date: | 07/03/2007 08:27:50 AM |
| List: | com.mysql.lists.mysql-es |
Tenes indices creados asociados a los campos que utilizas en el WHERE de tu DELETE?
Saludos
On 03/07/07, Jordi Escola (Pricewin) <jesc...@pricewin.net> wrote:
Gracias por responder... caramba.. eso si son logs!!.. jejeje... es MyISAM en un server compartido con un servicio NFS.. en las consultas no tengo problemas, es a la hora de borrar registros segun una query.. osea si quiero borrar un mes entero ...zas! bloqueo.. al tratarse de un Server de correo (24x7) no puedo esperar a que nadie lo use.. osea que trato de efectuar los procesos en programado de madrugada.. cuando te refieres a una demora de 15 minutos.. te refieres a que el server está "zombie" durante 15 minutos?.. en mi caso es así .. si efectuo alguna operación crítica el server se queda colgado durante el periodo de tiempo que dura el proceso.. es un poco delicado puesto que durante ese tiempo no entran correos ya que todo el sistema se basa en filtros y consultas a la BBDD... si durante ese proceso se queda frito todos los correos darán timeout al server remitente... y en el caso de clientes les daría un error en el cliente correo (ie. Outlook)... cosa que no debe ocurrir...la tabla más grande que tengo y que voy optimizando es una que tiene 5 millones de registros.. esta es la que tengo que ir eliminando registros continuamente...
Hay q tener en cuenta que los accesos a la BBDD son constantes.. clientes..dominios..whitelist..blacklist..greylist.. abuse.. spam.. virus.. para cada conexión y para cada RCPT.. con lo que todo tiene que ir super rápido.. cualquier "cuelgue" me puede generar una cola de entrada importante...
Saludos!
Advertencia importante
Este mensaje contiene informacion confidencial y/o privilegiada. Si usted no es
el destinatario o una persona expresamente autorizada por el destinatario para
recibir este mensaje no debe utilizar, copia, reenviar, distribuir o, en
general, disponer en ninguna forma de la informacion incluida en el mismo. Si se
hubiera recibido este mensaje por error, sirvase informar al emisor en tal
sentido mediante una respuesta inmediata y borrelo, por favor. Gracias por su
colaboracion.
Important notice
This message contains confidential and/or privileged information. If you are not
the addressee or authorized to receive this for the addressee, you must not use,
copy, forward, disclose or take any action based on this message or any
information herein. If you receive this message in error, please advise the
sender immediately by reply e-mail and delete this message. Thank you for your
cooperation.
----- Original Message ----- From: "Grover Campos A." <gcam...@ing.puc.cl> To: <mysq...@lists.mysql.com> Sent: Tuesday, July 03, 2007 4:50 PM Subject: RE: Trabajar con Tablas Grandes...
Hola Jordi
¿Qué tipo de engine usas, MyISAM, InnoDB?
Según veo tu problema me parece que es algo de IO, yo tengo tablas de logs de por lo menos 9millones de registros diarios (3GB) y al sacar los backups donde realizo un dump, luego hago un optimize, y después le añado un índice sobre un campo varchar se demora sólo 15 min. Como verás le hago procesos muy intensivos en IO y para esa cantidad de datos me parece que lo que se demora es por lo menos esperable. Si hacemos una extrapolación a la cantidad de registros que tú generas pues no debería demorarse nada. Yo utilizo tablas MyISAM en un disco rápido, es un servidor dedicado y en el momento en que hago todo el proceso nadie lo utiliza. No sé si en tu caso tú realizas tus procesos mientras alguien lo utiliza o si usas Innodb.
Verifica esos datos y nos cuentas
--------------------------------------------------------- Grover M. Campos Ancajima Ingeniero de Desarrollo
-----Mensaje original----- De: Jordi Escola (Pricewin) [mailto:jesc...@pricewin.net] Enviado el: Martes, 03 de Julio de 2007 3:17 Para: mysq...@lists.mysql.com Asunto: Trabajar con Tablas Grandes...
Hola, os comento un poco por encima... He desarrollado un firewall de correo en C que usa Mysql para almacenar los datos de clientes, prefencias,filtros whitelist.. etc.. pero tambien almaceno los Log's de de tráfico, SPAM, Virus, Abuse..etc.. Por motivos de informes a usuarios necesitamos almacenar dichos datos por lo menos 1 mes lo que ocurre que cada vez el tráfico mensual es mayor teniendo clientes que generan mas de 200.000 registros al dia.
Mi problema viene al intentar eliminar datos de las tablas, he usado delete low_priority pero muchas veces se queda la BBDD torrada y como consecuencia me congela el servicio smtp hasta que finaliza el proceso, al final he optado por un bucle e ir borrando usando delete low_priority + limit 1000.. no es una solución muy elegante.... alguien tiene otra manera mejor?? ah!!.. las tablas ya están separadas por dominios..osea que cada tabla pertenece a un dominio ...
Otro problemilla que tengo es con las tablas corruptas.. algunas veces se corrompen y luego para repararlas me pasa exactamente lo mismo... 4 o 5 minutos con el server torrado mientras repara.... y ese proceso no puede esperar para hacerse de madrugada puesto que hasta q no se repare la tabla no es operativa con lo que los datos de registro no se almacenan...
Ah.. el servidor de BBDD es una buena máquina... y mysql es una versión 4.x, los agentes de limpieza y mantenimiento están creados en Perl...
Por ahora Mysql nos ha funcionando bastante bien.. pero creo que con tablas grandes..... no se,nose.. quizá pasemos a Oracle
Gracias por aguantar el rollo!
Jordi Escolà Martín PriceWin Networks Desarrollo de Proyectos www.serenamail.com
C/ Gomis 1 - 08023 Barcelona Tel. 902 332266 - Fax. 902 113614
________________________________________________________________________
Este email ha sido escaneado en busca de virus informáticos por el servicio SerenaMail de Pricewin Networks. Para mas información acerca de cómo proteger a su empresa contra los virus informáticos y el correo basura de forma permanente, visítenos en http://www.serenamail.com.
Advertencia importante Este mensaje contiene informacion confidencial y/o privilegiada. Si usted no es el destinatario o una persona expresamente autorizada por el destinatario para recibir este mensaje no debe utilizar, copia, reenviar, distribuir o, en general, disponer en ninguna forma de la informacion incluida en el mismo. Si se hubiera recibido este mensaje por error, sirvase informar al emisor en tal sentido mediante una respuesta inmediata y borrelo, por favor. Gracias por su colaboracion.
Important notice This message contains confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, forward, disclose or take any action based on this message or any information herein. If you receive this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation.
-- Lista de Correos de MySQL Para el historial de la lista: http://lists.mysql.com/mysql-es Para cancelar inscripcin: http://lists.mysql.com/mysql-es?unsub=jesc...@pricewin.net
--
Lista de Correos de MySQL
Para el historial de la lista: http://lists.mysql.com/mysql-es
Para cancelar inscripción:
http://lists.mysql.com/mysql-es?unsub=andr...@gmail.com
-- Atte, Andrés G. Montañez Técnico en Redes y Telecomunicaciones Montevideo - Uruguay




