Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/06/2013, 08:30
max_mouse699
 
Fecha de Ingreso: abril-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 7
Respuesta: una tabla o varias?

Hola xerifandtomas.

En relacion a tu primer post, te aclaro lo siguiente:

Cita:
La duda es si utilizar una sola tabla para los 20 capos o varias tablas relacionadas.
Esto se decide, como bien lo indicaba quimfv, dependiendo de los datos que tengas o almacenes. Se tiene que realizar un estudio en donde entra en juego el modelo entidad relacion que es importante para construir tus bases de datos, porque si formas una tabla de muchos campos, los cuales no estan correctamente normalizados, te generaria una tabla con una cantidad de registros enorme, que la gran mayoria de ellos seria inecesario y repetitivo, y eso genera volumen en el peso de la base de datos. Par poder ayudarte debes indicarnos que es lo que deseas lograr de tu BD, y que es lo que tienes hasta ahora, para orientarte como debes realizar tus bases de datos.

Cita:
¿Es si se ejecuta mas rapido una consulta a una tabla con 5-10 campos o a una con 20, o si es indiferente? Teniendo en cuenta que en la consulta solo solicitaría los campos necesarios y no todos loa campos.
Los tiempos en que se demora una consulta en ejecutarse, y lo que muestra MySQl o todos los programas administradores ed bases de datos, es el tiempo en que la consulto demoro en ejecutarse, es decir, el tiempo que demoro en encontrarlo que tu estas solicitando, de ahi en adelante, depende mucho de la maquina que tengas el que te pueda traer o no todos los registros.

Por darte un ejemplo, en mi trabajo utilizamos como mucho una maquina que le decimos como servidor, pero en realidad es un pc, con una placa intel, procesador intel core i3 2.9, 4 GB de ram, y 2 discos duros en arreglo, lo cual cuando ejejcuto consultas simples como tu dices, el servidor es super rapido, pero cuando tengo que realizar consultas en las que me tiene que traer una 8000 a 10.000 registros, se pega, y no responde, por lo cual no es tan eficiente. En cambio, cuando nos mudamos a un servidor de verdad, un HP Proliant, la misma consulta que a lo mejor me traia 40 registros, se demoraba lo muismo que una consulta que me traia de 15.000 a 30.000 registros. Es asi como vas viendo y vas evaluando el rendimiento tanto de tu consulta como la del servidor.

En conclusión, debes preocuparte del tiempo de respuesta de la consulta, pero también debes preocuparte de los datos que tengas almacenado, de un buen diseño de base de datos, y de una buena maquina, para que puedas evaluar el tiempo de respuesta de tus consultas. El tiempo de tus consultas, es lo que el servidor se demora encontrar lo que tu estas solicitando + en traerte los datos. Estimo que lo que deberías reducir serian las llamadas al servidor, por ejemplo, como tu indicas cuando tienes tablas que contengas 20 registros, pero sabes que esos registros muy escasamente serán alterados, entonces los guardas en memoria, y así reduces el tener que estar llamando a la BD para que todos el tiempo muestre los mismos registros.

Cita:
Un registro por ejemplo con un integer (PK), un varchar y 18 booleanos es muy distinto de uno con 20 LONGTEXT. Pero ni en este caso se podria decir si es mejor una o varias tablas ya que tanto la estrategia de consulta como de almcenaje depende del significado de los campos.
@quimfv: Me parece muy bueno y acertado tu comentario.

Cita:
Mi caso se pretende mostrar un listado de los registros (15 ó 20 registros por hoja) con los campos principales, y posteriormente si se quiere saber todos los datos de un resgistro, mostrar exclusivamente ese registro con todos sus campos.
Eso lo puedes resolver mediante la misma consulta que realices, pero en ves de mostrar todos los registros, muestras solo 15 o 30, según lo que determines, asi mediante la mezcla de programación y LIMIT de MySQL, puedes mostrar registros paginados, y al realizar esto es mucho mejor que guardarlo en memoria, porque cada vez que consultes una pagina, estará mostrando registros actualizados y estarás reduciendo la carga del servidor.

Cita:
Ademas amigo todo depende de que tanta seguridad desees darle a tu BD, muchos apoyan que guardar todos los datos en una sola tabla supone una mayor vulnerabilidad, para lo cual usan tablas relacionadas (como el caso de paiz, zona, ciudad, codigo postal, tarjetas, ETC)
Es verdad, muy muy cierto.

Saludos.

PD: alguien sabe como pegar un link correctamente en un post, a mi me ha quedado remal ultimamente y nose como hacerlo para que quede como enlace.