Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Borrar columnas de una tabla con muchos registros

Estas en el tema de Borrar columnas de una tabla con muchos registros en el foro de Mysql en Foros del Web. Saludos, Mi duda es la siguiente, en mysql, si tengo una tabla b con muchos registros (aprox. 50 millones) que mediante triggers se alimenta de ...
  #1 (permalink)  
Antiguo 01/10/2012, 14:32
Avatar de marcerozba  
Fecha de Ingreso: marzo-2012
Mensajes: 3
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Borrar columnas de una tabla con muchos registros

Saludos,

Mi duda es la siguiente, en mysql, si tengo una tabla b con muchos registros (aprox. 50 millones) que mediante triggers se alimenta de la tabla principal del sistema, tabla a y debo borrar algunas columnas de la tabla b, qué debería hacer, borrar de a una columna por vez o borrar todas en un solo momento?

Ya lo había intentado con todas las columnas y despues de 36 horas mysql no había terminado, por lo cual decidi cancelar el proceso ya que no puedo dejar tanto tiempo ejecutando un procedimiento porque se que el rendimiento del sistema va a disminuir.

Ahora si el borrado de las columnas se demora mucho me imagino que los triggers no se ejecutarán por lo cual se creara un lock table por cada insert que se haga sobre la tabla a y me bloqueara el sistema debido a la cantidad de lock tables, quisiera saber cual es la forma en que se demora menos, ya que no puedo dejar tanto tiempo con el sistema con un mal rendimiento o en el peor de los casos sin sistema.
  #2 (permalink)  
Antiguo 01/10/2012, 14:47
Avatar de 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: Borrar columnas de una tabla con muchos registros

Por empezar, no es una tarea para hacer con tablas en caliente. Tienes que aislar la base (base restricta) y asegurarla, desactivar todas las rutinas que la afecten y recién entonces puedes intentar borrar esas columnas.
Pero para avanzar, lo primero que hay que saber es si esas columnas a eliminar están afectadas por FK u otras restricciones de dependencia funcional.
Sin saber eso, puede ser una aventura suicida.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 02/10/2012, 16:02
Avatar de marcerozba  
Fecha de Ingreso: marzo-2012
Mensajes: 3
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Borrar columnas de una tabla con muchos registros

La tabla a la que deseo eliminarle las columnas es MyIsam y no tiene ninguna dependencia funcional.

Por otro lado, la tabla la llame b de manera temporal para que no tenga ningún inconveniente desde la aplicación. Lo único que tiene es la sincronización con otra tabla mediante un trigger.

Etiquetas: column, drop, table, alterar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:54.