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

Por 0 No tags Permalink

COUNT(*) no admite DISTINCT y no toma parámetros. Cuenta cada fila por separado e incluye filas que contienen valores NULL.

COUNT(*) cuenta el número de elementos en un conjunto. Incluye valores NULL y duplicados.
COUNT(ALL expression) evalúa la expresión para cada fila de un conjunto y devuelve el número de valores no nulos.
COUNT(DISTINCT expression) evalúa la expresión para cada fila de un conjunto y devuelve el número de valores únicos no nulos.

CREATE TABLE TablaCOUNT(valor INT);
INSERT INTO TablaCOUNT(valor)VALUES(1),(2),(2),(3),(null),(null),(4),(5);
SELECT valor FROM TablaCOUNT;

Existe otra manera y la ventaja de ésta 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 opción de creación automática de estadísticas en la Base de datos.

SELECT rows
  FROM sysindexes
  WHERE id = OBJECT_ID('[dbo].[TablaCOUNT]') AND indid<2
Compara el precio para envíos nacionales e internacionales con hasta un 70% de ahorro.

No Comments Yet.

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *