Límites en el número de filas en una tabla de SQL Server

¿Existen límites estrictos para el número de filas en una tabla en una tabla de servidor sql? Tengo la impresión de que el único límite se basa en el almacenamiento físico.

En qué punto el rendimiento se degrada de manera significativa, si es que lo hace, en tablas con y sin índice. ¿Hay alguna práctica común para mesas muy grandes?

Para dar un poco de conocimiento del dominio, estamos considerando el uso de una tabla de auditoría que registre los cambios en los campos de todas las tablas en una base de datos y se preguntan con qué tipos de paredes nos podríamos topar.

4

4 Respuestas

Además de todo lo anterior, que son excelentes recomendaciones, pensé que daría un poco más de contexto en el punto de índice/rendimiento.

Como se mencionó anteriormente, no es posible dar un número de rendimiento, ya que dependiendo de la calidad y el número de sus índices, el rendimiento será diferente. También depende de qué operaciones desee optimizar. ¿Necesita optimizar inserciones? ¿o le preocupa más la respuesta a la consulta?

Si está realmente preocupado por la velocidad de inserción, la partición, así como una consideración de índice MUY cuidadosa va a ser la clave.

La recomendación de tabla por separado de Tom H también es una buena idea.

2
agregado

BrianV es correcto. Es difícil dar una regla porque varía drásticamente en función de cómo usará la tabla, cómo se indexa, las columnas reales en la tabla, etc.

En cuanto a las prácticas comunes ... para tablas muy grandes, puede considerar la partición. Esto podría ser especialmente útil si encuentra que para su registro generalmente solo le preocupan los cambios en el último mes (o 1 día, 1 semana, 1 año, lo que sea). A continuación, puede archivar partes anteriores de los datos para que estén disponibles si es absolutamente necesario, pero no serán un obstáculo, ya que casi nunca lo necesitarán.

Otra cosa a tener en cuenta es tener una tabla de registro de cambios separada para cada una de sus tablas reales si no está planeando hacerlo. Usar una sola tabla de registro hace que sea MUY difícil trabajar con ella. Por lo general, debe registrar la información en un campo de texto de forma libre que es difícil de consultar y procesar. Además, es difícil ver los datos si tiene una fila para cada columna que se ha modificado porque tiene que hacer muchas combinaciones para observar los cambios que se producen al mismo tiempo, uno al lado del otro.

2
agregado

Tiene razón en que el número de filas está limitado por su almacenamiento disponible.

Es difícil dar números, ya que depende mucho del hardware del servidor, la configuración y la eficiencia de sus consultas.

Por ejemplo, una instrucción de selección simple se ejecutará más rápido y mostrará menos degradación que una búsqueda de Texto completo o Proximidad a medida que crezca la cantidad de filas.

2
agregado

Con las tablas de auditoría, otro enfoque es archivar los datos una vez al mes (o semana dependiendo de la cantidad de datos que ingrese) más o menos. De esta forma, si necesita recrear algunos cambios recientes con los datos nuevos, puede hacerlo en tablas más pequeñas y, por lo tanto, más rápidamente (la recuperación de las tablas de auditoría es casi siempre una tarea urgente que he encontrado). Pero aún tiene los datos disponibles en caso de que necesite volver atrás en el tiempo.

1
agregado