mssql sqlserver 快速获得表总记录数的方法分享


摘要:
下文讲述sqlserver中大数据量快速获取表总行数的方法分享,如下所示:
实验环境:sql server 2008 R2


一、从系统表中获取记录数

—-此方法非常方便应用于大数据量,因为直接获取系统表中的数据,所以无论数据量多少,查询耗时都不会发生变化
select rows as [行数] FROM sysindexes WHERE id = OBJECT_ID(‘数据表名称’) AND indid <2
二、使用count聚合函数从数据表中实时获取

此方法是效率最低效的方法,因为会扫描整张数据表
select count(1) from [数据表名称]


三、通过系统函数sp_spaceused中获取数据表所对应的行数信息,如下所示:

  DECLARE @t TABLE(
             [tbName] SYSNAME,
             [RowCount] NVARCHAR(200),c NVARCHAR(2000),
               d NVARCHAR(2000),e NVARCHAR(2000),
               f NVARCHAR(2000)
              ) 
    
        
             INSERT INTO @t EXEC sp_spaceused '数据表名称' 
     
             SELECT TOP 1 [RowCount]  as [行数] FROM @t    as t