获取表的记录总数
2006-02-17 11:51
204 查看
Select rows from sysindexes where id=object_id(N'tablename') and indid<2
该方法获取表的记录总数的速度非常快,在毫秒级就可以完成,相比select count(*) 要快上数万倍,但是
大家在运用该方法是一定要主要,该方法得到的表的总记录数不是一个精确值,原因是MS SQL 并不是实时更
新该字段的值,而是定时更新,当从实践来看该值和精确值一般误差不大,如果你希望快速的粗略估算表的
大小,建议你采用该方法。如果你希望得到精确值,那么请在执行上述语句前执行
DBCC UPDATEUSAGE(DatabaseName,[TABLENAME]) WITH ROW_COUNTS
强制更新该字段的值,但这样第一次更新
时会耗费大量的时间,这样做的效果和建有聚簇索引的表 select count (*) 效果相差不大,所以如果你希
望相对快速地得到精确的表的记录总数,那么你有两种选择,建聚簇索引或者先DBCC 再使用上述方法。
sysindexs负责管理索引,object_id(object)返回对象ID,indid索引ID
该方法获取表的记录总数的速度非常快,在毫秒级就可以完成,相比select count(*) 要快上数万倍,但是
大家在运用该方法是一定要主要,该方法得到的表的总记录数不是一个精确值,原因是MS SQL 并不是实时更
新该字段的值,而是定时更新,当从实践来看该值和精确值一般误差不大,如果你希望快速的粗略估算表的
大小,建议你采用该方法。如果你希望得到精确值,那么请在执行上述语句前执行
DBCC UPDATEUSAGE(DatabaseName,[TABLENAME]) WITH ROW_COUNTS
强制更新该字段的值,但这样第一次更新
时会耗费大量的时间,这样做的效果和建有聚簇索引的表 select count (*) 效果相差不大,所以如果你希
望相对快速地得到精确的表的记录总数,那么你有两种选择,建聚簇索引或者先DBCC 再使用上述方法。
sysindexs负责管理索引,object_id(object)返回对象ID,indid索引ID
相关文章推荐
- MS SQLSERVER中如何快速获取表的记录总数
- sql获取记录总数
- MS SQLSERVER中如何快速获取表的记录总数
- MS SQLSERVER中如何快速获取表的记录总数
- 使用SQL_CALC_FOUND_ROWS获取mysql查询记录总数
- sql sever中快速的获取表中的记录总数(粗略)
- MSSQLSERVER中如何快速获取表的记录总数
- dojo小例子(23)EnhancedGrid、DataGrid当加载完成后获取记录总数
- MS SQLSERVER中如何快速获取表的记录总数
- MySQL高效获取记录总数
- MS SQLSERVER中快速获取表的记录总数
- 如何获取Repeater行号(索引)、记录总数?
- MS SQL SERVER中如何快速获取表的记录总数
- HibernateTemplate() 获取最大记录数/记录总数/总数
- VC中用ADO记录集对象,获取某个表的记录总数!...
- JDBC获取记录总数
- MS SQLSERVER中如何快速获取表的记录总数
- MS SQLSERVER中快速获取表的记录总数
- 获取记录总数
- VC中用ADO记录集对象,获取某个表的记录总数!...