判断一个表的记录总数,通常的做法是使用以下语句:select count(*) from 表名
这种做法没有错,但是我这边说的是一个效率问题,如果一个很小的表,得到表的记录数,对于效率来说不是什么问题,但是如果这个表的记录数有上千万行、上亿行,那么速度就有点慢了。有人就会说建立聚簇索引,但是这样会增加系统的开销。并且第一次执行的时候,速度还是有点慢的。有一个好的办法就是利用SQLServer数据库的系统视图:sys.sysindexes 中,字段“rows”或"rowcnt"定时记录了表记录的总数。系统是定时更新这条记录的,所以这是个精确值,但是误差不大。如果不是精确得到记录总数,只是得到一个大概数,可以使用这个视图。如下: