Pregunta

Tengo una base de datos mal diseñada. Una de las tablas más importantes tiene más de 11,000 entradas. Nos gustaría expandir nuestro sistema, y ??me pregunto si esta tabla creció a 5 veces su tamaño, ¿sería esto un problema? Tiene un tamaño de 15360 kB ... si eso importa.


Estoy usando phpMyAdmin, el servidor es una caja de Fedora Linux (nada especial), la carga es liviana. Almacena casi todo lo que utiliza nuestro sistema.

¿Fue útil?

Solución

Comprendo que le preocupa que aumente el número de registros a alrededor de 55.000 en su base de datos mal diseñada. afectará el rendimiento.

Si el sistema funciona como se espera ahora, creo que debería estar bien con 50.000 registros también, a menos que ya tenga algunos problemas leves de rendimiento.

Como la mayoría de las personas mencionaron que los registros de 50k es un número muy pequeño en relación con el tamaño de la tabla de la base de datos e incluso con una base de datos no normalizada no debería haber problemas de rendimiento.

Si planea expandir la funcionalidad de su sistema, entonces quizás sea un buen momento para ver el diseño de la base de datos, de lo contrario, debería ser razonablemente seguro dejarlo como está.

Otros consejos

¿Qué DBMS? ¿Que servidor? Que carga ¿Qué aplicación?

Además: 11.000 discos no son nada, en realidad. Incluso en MS Access. :-)

EDITAR: Entonces asumo que usas MySQL bastante reciente con tablas MyISAM. En teoría, puede continuar y completar la tabla en los millones de registros. Dependiendo de cómo trabaje con ellos (muchas combinaciones / no, muchas consultas / actualizaciones / eliminaciones / o no), no necesita hacer nada especial. Ponga un índice adecuado en la mesa y debería estar bien.

No creo que esté proporcionando suficiente información para que alguien pueda responder. ¿Por qué está mal diseñado? ¿No está normalizado? ¿No tienes ningún índice? ¿Qué DB es? ¿En qué sistema operativo se está ejecutando? ¿Cuánto tiempo demora ahora en consultar un registro de la tabla en cuestión?

11k entradas no son tantas. 50K tampoco es grande.

Poner índices en la tabla (optimizados para las consultas que ejecutará en ella) permitirá un buen rendimiento por cantidades mucho mayores de lo que está imaginando.

Sin embargo, si el diseño es lo suficientemente deficiente, puede considerar el costo del rediseño.

¿Qué quieres decir con una " base de datos mal diseñada " ;?

Si está mal diseñado, rediseñarlo, arrastre la información hacia las tablas actuales y rellene la nueva.

Si le preocupa el rendimiento, 11000 entradas no es grande. Una base de datos de 15 megabytes es extremadamente pequeña, según los estándares de la DB.

El tamaño de una tabla no es muy importante. El diseño de la clave, los índices y las relaciones tienen mucho más que ver con la calidad del diseño que el tamaño de los datos que contiene. Obviamente hay advertencias a esto; pero la optimización del tamaño de una tabla es casi lo último que hago cuando trabajo en un problema de rendimiento o diseño.

Es posible que desee explicar más acerca de por qué cree que esta es una base de datos mal diseñada y qué puede hacer (fácilmente) para corregir los problemas. Junto con eso, debe detallar el tipo de DBMS y su uso (aplicación web, aplicación personalizada, informes, etc.).

15MB no es nada. 11k filas también. Tengo bases de datos con más de 2 GB de datos, con algunas tablas que contienen más de 1 millón de filas y considero que está en algún lugar entre pequeño y mediano tamaño.

Realmente no proporcionó ninguna evidencia para respaldar su afirmación de que esta es una base de datos mal diseñada. ¿Qué lo hace mal diseñado? ¿La tabla tiene 876 columnas? ¿Las columnas se denominan Col1, Col2, Col3 ...? ¿Utiliza un flotador y una fecha y hora como una clave primaria compuesta? ¿Está mal normalizado? Lo único que sabemos es su número de registros.

Los registros de 11K generalmente no son nada en términos de base de datos.

¿Qué más te hace pensar que la base de datos está mal diseñada aparte del número de registros en la tabla?

Debe proporcionar mucha más información sobre la estructura de la tabla.

En general, 15,000 filas en una tabla se considerarían pequeñas, de hecho, tan pequeñas, que algunos diseñadores ni siquiera se molestarán en indexarla.

Una mala base será tu error más costoso. Si la tabla es importante, entonces debe decidir qué tan importante es arreglarla. La cantidad de filas en una tabla solo afecta la velocidad a la que puedes sacar cosas de ella. Pero, para empezar, si tienes un mal diseño de la base de datos, tendrás las manos atadas en ciertos lugares en el futuro.

Si está hablando de SQL Server 2005, busque en el analizador de SQL Server y use el asistente de optimización de índices.

También hay soporte en algunas bases de datos para la fijación de tablas en la memoria si desea un rendimiento adicional.

El contenido de un registro puede ser más importante que la cantidad de registros en una tabla.

Donde trabajo, tenemos bases de datos con numerosas tablas con un número de registros de decenas de miles o cientos de miles. Nuestras bases de datos se consideran pequeñas, en su mayor parte.

Si vas a expandir tu sistema, ahora es el momento de rediseñar si es necesario. Es mucho menos doloroso rediseñar cuando tiene 11,000 registros que cuando tiene 10 millones. Sin embargo, nada de lo que ha dicho me indica que necesita rediseñar. No hay nada intrínsecamente malo en tener uniones (de hecho, una base de datos bien diseñada debería tenerlas). Publique algunos detalles sobre la estructura y podemos ayudarlo a decidir si se necesita un nuevo diseño.

Es posible que el problema sea que usted y sus colegas simplemente no tienen experiencia en el acceso a la base de datos y no saben cómo consultarlos de manera fácil y efectiva. O el problema podría ser que el diseño es malo, sin detalles de la estructura, es difícil decirlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top