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

Número máximo de campos en una tabla (tema copiado)

Estas en el tema de Número máximo de campos en una tabla (tema copiado) en el foro de Mysql en Foros del Web. Hola que tal amigos, me he topado con este tema, dado que actualmente estoy trabajando en un sistema que tiene aproximadamente 110 campos en una ...
  #1 (permalink)  
Antiguo 04/03/2013, 17:50
 
Fecha de Ingreso: octubre-2011
Mensajes: 34
Antigüedad: 12 años, 5 meses
Puntos: 2
Respuesta: número máximo de campos en una tabla

Hola que tal amigos, me he topado con este tema, dado que actualmente estoy trabajando en un sistema que tiene aproximadamente 110 campos en una tabla ya normalizada y que inclusive está relacionada con otra tabla de aproximadamente 30 campos.

Lo que quería decirles es que definitivamente si, si es posible que lleguen a existir tablas con tal cantidad de campos como bien dicen los demás, y no porque yo lo esté experimentando también.

El caso es que aún y cuando la tabla de 110 campos está normalizada y está relacionada con la otra tabla, estoy pensando en separarla o dividirla en 2 o 3 tablas de máximo 40 campos.

Pero el problema es que después se hace demasiado complejo cuando necesitas sacar todos los datos de un solo golpe de las 4 tablas que se formaron, (Cualquiera que haya trabajado con JOINS sabrá a que me refiero).

EL PROBLEMA:

El problema es que para los reportes se necesitan los 110 campos (Créanme, los reportes tienen forzosamente que llevarlos).

LA PREGUNTA:
Si dividiera la tabla de 110 campos en 3 tablas, tendría que anidar JOINS para poder traer la información de un solo golpe y eso CONSUMIRÍA IGUAL RECURSOS si no es que más.... ya de por sí, suficientes recursos de memoria se consumen cuando haces un JOIN con otra tabla, ahora imagínense 3 o 4 tablas con JOIN.

Existe otra manera de hacerlo ?. No me importa dividir la tabla, lo que me preocupa es como voy a sacar los reportes después, si te todos modos tendría que jalar TODAS LAS TABLAS COMPLETAS.

Para el caso del rendimiento sería lo mismo? Alguien ha hecho pruebas? ... o si mejoraría el rendimiento?

COMO NOTA:
La tabla principal tiene 110 campos y 5000 registros aproximadamente.
  #2 (permalink)  
Antiguo 04/03/2013, 18:06
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, 4 meses
Puntos: 2658
Respuesta: Número máximo de campos en una tabla (tema copiado)

Primer detalle: No resucites posts viejos, ni aunque se traten de tu mismo tema. Serán cerrados sin previo aviso (política general de FDW). Hay otros considerandos, pero para el caso con eso es suficiente.

Segundo detalle: Respecto a partir una tabla ya normalizada porque resulta demasiado "grande", eso es muy relativo y depende de la decisión del diseñador. No hay una regla específica sobre el tema.
Yo he trabajado con tablas de 130 campos simplemente porque eran 130 parámetros de configuración de un hardware, y cada aparato vendido debía ser registrado con sus 130 parámetros...
Es decir: Depende del caso.

Lo que si te puedo decir es que si la relación entre esas tablas queda siendo 1:1 mandatoria, entonces no tiene ningún sentido partirla. Lo único que logras es complicar la vida.
Si por otro lado, si alguna relación es 1:1 no mandatoria, entonces te puedo asegurar que la tabla no está normalizada (y menos aún si llegas a encontrar alguna instancia en 1:N).


Respecto al rendimiento, eso tiene mucha relación con la elección de los tipos de datos y longitudes de cada campo. En ese contexto es necesario haber definido los campos correctamente para evitar precisamente desperdicio de recursos, ya que la lectura sera menos eficiente en tanto el rango de los campos exceda lo necesario (mayor cantidad de accesos a disco y menor cantidad de registros recuperados por bloque).
Habría que ver si las tablas están bien definidas...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 10:19.