MSSQL语句学习(查询表的总记录数)

时间:2022-02-17 04:41:17

如何高效查询表的总记录数(通用方法)

SELECT COUNT(1) ROWS FROM product

野路子1:利用系统自带的存储过程SP_SPACEUSED,详细的使用方式推荐谷哥或度娘,
EXEC SP_SPACEUSED 'PRODUCT'
野路子2:

很多表都会设计一个步长为1的自增长整型(INT)列作为表主键,该做法优劣这里不展开讨论,仅基于这一"习惯",外加一个假设:该字段连续无为断,则可以使用MAX函数了,限制较多哈

1,自增长列

2,该列连续

SELECT MAX(ProductCode) TotalCount FROM Product
野路子3:使用系统表中的信息,优点是速度够快!缺点是数据不精确,所以要结合您自身项目的特点来判定是否适合使用该方法,代码奉上
SELECT ROWS FROM [sysindexes] WHERE id = OBJECT_ID('product') and indid < 2
野路子3修复数据不精确方法,执行以下SQL脚本即可,请不要在生产环境使用! 
DBCC UPDATEUSAGE(0, 'product') with COUNT_ROWS