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

[SOLUCIONADO] dividir mi tabla en dos

Estas en el tema de dividir mi tabla en dos en el foro de Mysql en Foros del Web. Hola chicos, Tengo una duda, tengo una tabla establecimiento con 27 campos (id, id_miembro, id_pais, id_ciudad, id_provincia, id_distrito, nombre, direccion, ref_direccion, longitud, latitud, telefono, correo, ...
  #1 (permalink)  
Antiguo 25/10/2015, 23:50
 
Fecha de Ingreso: junio-2014
Mensajes: 26
Antigüedad: 5 años, 2 meses
Puntos: 0
dividir mi tabla en dos

Hola chicos,

Tengo una duda, tengo una tabla establecimiento con 27 campos
(id, id_miembro, id_pais, id_ciudad, id_provincia, id_distrito, nombre, direccion, ref_direccion, longitud, latitud, telefono, correo, web, video, horario, precio_Ref, tarjeta, parking, descripcion, img_principal, img_banner, valor_promedio, cantidad_votos, descripcion_interna, fecha_activacion, estado)

Necesito los id de pais, ciudad, etc. para que los usuarios busquen dependiendo su gusto.
Tengo 2 preguntas.
Pregunta 1
Debería dejarlo así o separarlo en dos tablas para mejorar el rendimiento, en caso que lo separe sería asi?
Tabla 1 = Establecimiento:{"id_est", "id_miembro", "id_pais", "id_ciudad", "id_provincia", "id_distrito", "nombre", "latitud", "longitud", "direccion", "ref_direccion", "img_principal", "img_banner", "estado" } sería lo que más utilizo cuestion de google map etc.
tabla 2 detalle_est= {"id_detalle", "id_est", "telefono", "correo", "web", "video", "horario", "precio_ref", "tarjeta", "parking", "descripcion", "valor_promedio", "cantidad_votos", "descripcion_interna", "fecha_activacion"}

Pregunta 2
Lo del valor_promedio y cantidad_votos van a ser valores que saca el promedio y cantidad total de la votación de la tabla votación, lo pienso poner para que la consulta sea rápida evitando join y los valores los genero mediante un disparador cada vez que se ingresa dato a la tabla votacion haciendo un update. Es mejor hacerlo de esta forma usando el disparador (trigger) o no necesito hacer y saco lo valores haciendo los cálculos correspondiente en la tabla con una consulta, cual es mejor rendimiento?.

Espero sugerencia
Saludos y gracias
  #2 (permalink)  
Antiguo 10/11/2015, 09:29
 
Fecha de Ingreso: junio-2014
Mensajes: 26
Antigüedad: 5 años, 2 meses
Puntos: 0
Respuesta: dividir mi tabla en dos

Para quien les sirva.
Saqué la conclusión que si tienes una tabla con muchos atributos, por rendimiento lo dividi en 2. En la principal serán los datos que más utilizaré para otras aplicaciones o ventanas y la segunda solo será utilizado en una sola ventana.
Por ello preferí dividirlo en 2.
Tabla 1 = Establecimiento:{"id_est", "id_miembro", "id_pais", "id_ciudad", "id_provincia", "id_distrito", "nombre", "latitud", "longitud", "direccion", "ref_direccion", "img_principal", "img_banner", "estado" } sería lo que más utilizo cuestion de google map etc.
tabla 2 detalle_est= {"id_detalle", "id_est", "telefono", "correo", "web", "video", "horario", "precio_ref", "tarjeta", "parking", "descripcion", "valor_promedio", "cantidad_votos", "descripcion_interna", "fecha_activacion"}
  #3 (permalink)  
Antiguo 10/11/2015, 09:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.318
Antigüedad: 11 años, 8 meses
Puntos: 2653
Respuesta: dividir mi tabla en dos



Creo que deberías estudiar el concepto de "Normalización de bases de Datos"...
Una tabla no se "divide" por rendimiento. Se normaliza. El "rendimiento" o performance al que pareces referirte es un tema de consultas optimizadas, lo cual lleva a profundizar en varios aspectos diferentes de las bases de datos, y no a un simple particionamietno.
"Partir" una tabla en dos o más puede parecerte una buena idea, pero existe el riesgo cierto de que una incorrecta separación sin justificación por normalización termine generando no solo errores consultas, sino además grandes inconsistencias.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/11/2015, 14:49
 
Fecha de Ingreso: junio-2014
Mensajes: 26
Antigüedad: 5 años, 2 meses
Puntos: 0
Respuesta: dividir mi tabla en dos

Tienes razón, leí una parte. Creo que la único razón por lo que separo es para no generar búsquedas innecesarias cuando haga mis consultas, pero si me ocasionarían algunos problemas. Creo que por normalización no lo debería separar, solo manejar bien mis consultar y otras cosas. Voy a seguir analizando bien ese tema.

Etiquetas: consulta-mysql, tabla, trigger
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 18:22.