2009-03-04 11 views
7

Sé que en SQL Server, el número máximo de "objetos" en una base de datos es un poco más de 2 mil millones. Los objetos contienen tablas, vistas, procedimientos almacenados, índices, entre otras cosas. No me preocupa en absoluto ir más allá de 2 mil millones de objetos. Sin embargo, lo que me gustaría saber es si SQL Server sufre un golpe de rendimiento al tener una gran cantidad de tablas. ¿Tiene cada tabla que agregue un golpe de rendimiento, o básicamente no hay diferencia (suponiendo una cantidad constante de datos). ¿Alguien tiene alguna experiencia trabajando con bases de datos con miles de tablas? También me pregunto lo mismo sobre MySQL.Número máximo de tablas viables en SQL Server Y MySQL

Respuesta

8

Sin diferencia, suponiendo una cantidad constante de datos.

Probablemente una ganancia en términos prácticos, debido a cosas como las ventanas de mantenimiento reducido (menor índice reconstruye), capacidad de tener grupos de archivos, etc.

rendimiento se determina mediante consultas y los índices de sólo lectura (en el nivel más básico): no número de objetos

1

Dudo que SQL Server tenga un problema de rendimiento al trabajar con miles de tablas, pero seguro que sí.

Sin embargo, he trabajado en bases de datos con cientos de tablas en SQL Server sin problemas.

+0

Tuvo que leer tu primera oración un par de veces. Entiendo de dónde vienes, pero básicamente serían muchas tablas, todas con la misma estructura y no algo que se gestionaría individualmente. – Kibbee

+1

Si las tablas se generan de forma programática, usted como desarrollador también puede tratarlas programáticamente. No hay problemas de rendimiento (al menos no vocacionalmente) – Davos

0

El servidor SQl puede sufrir un mayor golpe de rendimiento al utilizar tablas con muchas, muchas columnas en lugar de dividir una tabla relacionada (incluso una con una relación uno a uno). Además, una tabla amplia probablemente pueda tener problemas cuando los datos que desea ingresar exceden la cantidad de bytes que puede almacenar para una columna. Puede crear una tabla que tenga el potencial de almacenar, por ejemplo, 10000 bytes, pero solo podrá almacenar 8060 bytes.

+0

Esta es información útil, pero no responde en absoluto a la pregunta que se hace. – Kibbee

+0

BUENO lo hace como la razón por la que pregunta si demasiadas tablas crearán un problema de rendimiento es que está considerando consolidarlas en lugar de crear tantas que, de hecho, crea un problema de rendimiento mucho mayor y la persona debe tenerlo en cuenta. – HLGEM

4

En términos del número máximo de tablas, he tenido una base de datos con 2 millones de tablas. Ningún rendimiento alcanzado en absoluto. mis tablas eran pequeñas alrededor de 15MB cada una.

+0

Eso fue útil gracias. Soy un jugador de Google :) – BOSS

0

En mi experiencia, no creo que el número de tablas afectará el rendimiento. Pero entonces debería poder justificar por qué tiene tantas tablas en la base de datos. Eso es porque tener tantas tablas en el lado de la base de datos también afectará el trabajo del desarrollador en el lado del servidor.

OMI si se divide a las tablas en la base de la funcionalidad entonces no se puede hacer la vida de desarrollador fácil, pero también tienen ganancia de rendimiento en su aplicación, ya que han fijado las tablas desde donde se supone que debe obtener los datos requeridos.

Digamos que necesita almacenar detalles de ventas, compras, recibos y pagos. Todos ellos tienen la misma estructura de tabla y, en lugar de almacenarlos en una sola tabla, puedes almacenarlos por separado en tablas separadas. con estos puedes obtener todos los detalles para las ventas en una sola mesa, para comprar en una sola mesa y de la misma manera. por lo tanto, puede ayudar a mejorar el tiempo de respuesta del nivel de la base de datos de la aplicación, que es uno de los componentes más lentos en todos los niveles web ... !!! Por supuesto, impor- vemos el rendimiento de la base de datos por parte de SQL, pero dicha estructuración también puede ayudar indirectamente a mejorar el rendimiento de la base de datos.

Cuestiones relacionadas