Obtener el número de registros de una tabla sin hacer select count(*)

16 10 2008

Una forma de obtener el numero de registros de una tabla en SQLServer aparte del clásico:

SELECT COUNT(*)
  FROM NombreTabla

es consultando la tabla del systema sysindexes del siguiente modo:

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

La ventaja de ésta forma es que se evita que se recorra la tabla o algún índice para obtener el número exacto de registros, esto es útil en tablas con millones de registros, al hacerlo de la primera forma se lleva tiempo en devolver el resultado, afectando el desempeño.

Nota: Esto es útil cuando no se requiere saber el número exacto de registros de una tabla, sin embargo, es necesario tener activado la opcion de creación automática de estadísticas en la Base de datos.

About these ads

Acciones

Information

6 responses

30 05 2012
fernando

muy buen aporte

18 01 2013
Diego Sevilla

Aca una modificacion a su instruccion TSQL para conocer el nombre de la tabla y su cantidad de regstros

SELECT A.rows, B.name
FROM sysindexes A, (SELECT id, name FROM sysobjects where xtype = ‘U’) B
WHERE A.id = B.id AND indid < 2
ORDER BY B.name

2 11 2013
Hector Gutierrez

Que hace la opción de indid?

4 11 2013
18 10 2013
Domingo

Andubo perfecto! Agradecidos. Saludos!

29 11 2013
jc

hmm lo probe y no funciona correctamente pero te dejo la siguiente que si funciona, probala… saludos

select substring(obj.name, 1, 50) as Tabla, ind.rows as Registros
from sysobjects as obj
inner join sysindexes as ind on obj.id = ind.id
where obj.xtype = ‘u’
and ind.indid < 2
order by substring(obj.name, 1, 50)

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s




Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: