Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/11/2011, 09:39
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: MySQL (Tabla con 17.768.888 Registros, tabla de 2,79Gb)

Hay algunos detalles que debes tener en cuenta:
1) Hacer un ALTER TABLE implcia una modificación estructural enorme en una tabla de una base que ya está en trabajo. Es una mala práctica, y sólo se debe hacer si es absolutamente necesario.
2) Un ALTER TABLE genera una copia de la tabla temporalmente (ver funcionamiento del ALTER TABLE), por lo que el proceso puede ser extremadamente lento, sea por la reconstrucción de los índices, o por el diseño de la propia tabla, o bien por la optimización de los datos presentes en ella.
3) Un proceso complejo puede implicar mucho tiempo de conexión, por lo que si este tiempo supera el límite del timeout, la conexión se cae. Eso es una medida de seguridad, no un error.
4) Se puede extender el tiempo manualmente, pero tu estás usando Workbench y el MW tiene su propia configuración para el timeout de procesos. Fíjate cuál tiene y reconfiguralo. También tiene una configuración propia para lo que debe hacer en los errores. Verifica eso.
5) Una opción que puedes usar es ejecutar las sentencias en consola. Eso te dará mejor velocidad, pero a su vez puede que te de la impresión de estar bloqueado, a pesar de estar trabajando.
6) Un detalle final a considerar es que si estás trabajando en una red, y la base se halla en otra computadora, el timeout que puede hacerte caer la conexión puede no ser el de MySQL, sino el propio de la LAN donde estás, cosa que es controlada por el sistema operativo y no por MySQL. Eso es un problema que debe resolverse a otro nivel.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)