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

Necesito una recomendación para optimizar espacio

Estas en el tema de Necesito una recomendación para optimizar espacio en el foro de Mysql en Foros del Web. Hola, estoy haciendo un sistema de encuestas en el cual tengo una tabla donde se ingresa la encuesta, otra donde van sus distintas preguntas y ...
  #1 (permalink)  
Antiguo 15/05/2011, 21:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 2
Pregunta Necesito una recomendación para optimizar espacio

Hola, estoy haciendo un sistema de encuestas en el cual tengo una tabla donde se ingresa la encuesta, otra donde van sus distintas preguntas y alternativas, y por último lo que me causa el dilema es la última tabla donde se guardan las respuestas, en la cual guardo el id del usuario que respondió y su respuesta, y es aquí donde viene el problema, si recibo miles de respuestas a las distintas encuestas, qué me recomiendan hacer para que la búsqueda de datos no colapse? he considerado estas dos opciones:

1. Guardar todo junto en la misma tabla y que a partir de un punto mysql comience a buscar en un universo de datos muy grande <- esto es lo que quiero evitar
2. Cada X respuestas, ej. 10.000 crear una nueva tabla igual (respuestas_2, respuestas_3, ..., respuestas_n) y que en la estructura de la tabla donde se guardan la info de la encuesta (la 1ª) se diga en qué tabla se guardan sus resultados y así a la hora de ingresar una nueva encuesta, el script php reconozca automáticamente en qué tabla deben ir sus respuestas, para así poder tomarlos más rápidamente

A mi lógica la 2ª sería la indicada, qué me recomiendan ustedes?
  #2 (permalink)  
Antiguo 16/05/2011, 00:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Necesito una recomendación para optimizar espacio

Si las encuestas son independientes no parece mala lógica, tu segunda opción.

En el momento de optimizar una bbdd no debes tener en cuenta solo la estructura de datos es incluso más relevante como los vas a utilizar.

Por lo tanto si las encuestas se van a explotar independientemente no esta mal pensado separarlas por tablas incluso para la tabla de preguntas.... entiendo que estas diciendo que todas la respuestas a una encuesta irán en una misma tabla. Incliuso se podria llevar al extremo y para cada encuesta tener una tabla de preguntas y una de respuestas...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 16/05/2011 a las 01:19
  #3 (permalink)  
Antiguo 16/05/2011, 04:17
 
Fecha de Ingreso: junio-2008
Mensajes: 165
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Necesito una recomendación para optimizar espacio

Hace tiempo hize una web para encuestas. Nuestra base de datos tenia estas tablas:

Encuesta: id_encuesta,introduccion,fecha_ini,fecha_fin,conte staciones,renovaciones
Pregunta: id_encuesta,id_pregunta,id_tipo_pregunta,obligator ia,multirespuesta,texto
Alternativa: id_encuesta,id_alternativa,id_pregunta,texto
Respuesta:id_encuesta,id_pregunta,id_respuesta,tex to,id_alternativa

Estas son las tablas mas importantes, igual te ayudan a hacerte una idea
  #4 (permalink)  
Antiguo 16/05/2011, 09:40
 
Fecha de Ingreso: agosto-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Necesito una recomendación para optimizar espacio

claro cronosmen, algo así estaba pensando, a lo que voy es si me conviene acumular todas las respuestas recibidas en la misma tabla o ir creando automáticamente nuevas cuando el número de ingresos a esa tabla sea grande, agregándole a la tabla "encuesta" un campo que se llame tabla_respuestas, y así identificar dónde se almacenó.

y sobre lo de quimfv, eso también lo pensé, pero si ingreso una encuesta todos los días tendré una infinidad de tablas en mi db que también es algo un poco caótico.

Muchas gracias a ambos!
  #5 (permalink)  
Antiguo 16/05/2011, 10:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Necesito una recomendación para optimizar espacio

Yo lo que no haria es poner respuestas de una misma enquesta en tablas distintas...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #6 (permalink)  
Antiguo 16/05/2011, 10:09
 
Fecha de Ingreso: agosto-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Necesito una recomendación para optimizar espacio

no no no, el script reconocerá solo en qué tabla irán las respuestas a la hora de ingresar la encuesta, si al ingresar una nueva se superó el número de respuestas por tabla ahí se creará una nueva. Me explico bien?
  #7 (permalink)  
Antiguo 16/05/2011, 10:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Necesito una recomendación para optimizar espacio

Y cuando quieras ver resultados de la encuesta tendràs que consultar todas las posibles tablas en busca de todas las posibles respuestas?

Es decir encuesta1 tabla1 mientras no tenga mas de X respuestas si supera X tabla2...

Para ver resultado tienes que consultar tabla1, tabla2,tab....

Cuantas encuestas vas a tener "vivas" al mismo tiempo.... podrias tener estas con sus tablas respectivas y cuando caduquen acumularlas en una tabla repositorio....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 16/05/2011 a las 10:18
  #8 (permalink)  
Antiguo 16/05/2011, 10:14
 
Fecha de Ingreso: agosto-2010
Mensajes: 44
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Necesito una recomendación para optimizar espacio

no porque eso irá en un campo en la información de la encuesta
ingreso encuesta -> verifico si tengo que crear una nueva tabla -> tomo el id de la tabla que correspondería -> guardo ese id junto con la información de la encuesta.

Etiquetas: optimización
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 17:12.