Alguna funcion propia del SQL mas eficiente q el Count

14/01/2005 - 22:24 por Davidl | Informe spam
Hola, quisiera saber si hay una funcion propia del sql q
me devuelva el numro de registro de una tabla pero q sea
mas eficuente q un

select count(campo) from Table

Gracias

Preguntas similare

Leer las respuestas

#1 Tinoco
14/01/2005 - 23:35 | Informe spam
David

No conozco otra funcion, pero si ejecutas algo como esto, puede mejorar la
respuesta.

Select Count(1) From Tabla; puede ser mas eficiente
ó
Select Count(Campo) From Tabla; donde la columna [campo] tiene un Indice.

Hermilson Tinoco

"Davidl" wrote:

Hola, quisiera saber si hay una funcion propia del sql q
me devuelva el numro de registro de una tabla pero q sea
mas eficuente q un

select count(campo) from Table

Gracias


Respuesta Responder a este mensaje
#2 Enrique Albert
15/01/2005 - 00:12 | Informe spam
Hola

solo como curiosidad, en la tabla de indices de tu base de datos puedes
encontrar que SQL guarda el numero de registros para cada indice (indid
= 0 para un heap, indid = 1 para claustered)

Prueba el siguiente script:

use northwind
go

select * from sysindexes where object_id('orderslist') = id or
object_id('orders') = id

select rowcnt from sysindexes where object_id('orders') = id and indid
= (select min(indid) from sysindexes where object_id('orders') = id)
select count(*) from orderslist
select count(*) from orders

Saludos
Respuesta Responder a este mensaje
#3 Gustavo Larriera [MVP]
15/01/2005 - 01:21 | Informe spam
Mirate este artículo acerca de cómo usar sysindexes.rowcnt, ventajas y
desventajas:

http://db.ittoolbox.com/documents/d...t.asp?i%51

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Davidl" wrote in message
news::
Hola, quisiera saber si hay una funcion propia del sql q
me devuelva el numro de registro de una tabla pero q sea
mas eficuente q un

select count(campo) from Table

Gracias
Respuesta Responder a este mensaje
#4 ulises
17/01/2005 - 15:20 | Informe spam
Existe una latencia en la actualización de esos datos, pero
si no es necesario un dato exacto bien puede servir. Hay
que tener en cuenta que solo COUNT(*) te garantiza un dato
exacto (o usar previamente DBCC UPDATEUSAGE).

Saludos,
Ulises

Hola

solo como curiosidad, en la tabla de indices de tu base de


datos puedes
encontrar que SQL guarda el numero de registros para cada


indice (indid
= 0 para un heap, indid = 1 para claustered)

Prueba el siguiente script:

use northwind
go

select * from sysindexes where object_id('orderslist') = id or
object_id('orders') = id

select rowcnt from sysindexes where object_id('orders') id and indid
= (select min(indid) from sysindexes where


object_id('orders') = id)
select count(*) from orderslist
select count(*) from orders

Saludos

.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida