Obtener número registros de una tabla en SQL SERVER de forma rápida

Obtener número registros de una tabla en SQL SERVER de forma rápida
Puntúa este post

Una de las instrucciones típicas cuando trabajamos con cualquier motor de base de datos es hacer un COUNT para saber el número de registros o filas que tiene una tabla. Así nos hacemos una idea de su dimensión. O de cuántas filas debería devolver una consulta. En este artículo vamos a centrarnos en cómo obtener el número de registros de una tabla en SQL Server.

Lo típico es hacer un COUNT(*) sobre la tabla:

SELECT COUNT (*) FROM tabla

Pero esto no es lo más óptimo y si la tabla es grande puede demorarse demasiado. Con el asterisco, estamos seleccionando todos los campos de cada fila. Esto nos da igual ya que sólo queremos que nos devuelva un número. Así que una manera un poco más óptima de hacerlo, sería la siguiente.

SELECT COUNT (1) FROM tabla

Hemos cambiado el asterisco (*) por un número (1). Así por cada fila devolverá un 1, independientemente de su contenido. Lo cual a nivel de memoria suele ser más óptimo, aunque en la práctica no se nota tanto la diferencia, ya que muchas veces esto ya está optimizado. Pero no está de más ponerlo por si trabajamos con una versión que no lo tenga bien optimizado.

Pero en SQL Server, existe una manera mucho más óptima de obtener el número de filas de una tabla. Esta forma se basa en las tablas de diccionario del motor de base de datos. Es la siguiente:

SELECT rows
FROM sysindexes
WHERE id = OBJECT_ID('tabla') AND indid < 2;

Deja un comentario

Esta web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está aceptando éstas y nuestra política de las mismas.

ACEPTAR
Aviso de cookies