獲取表的記錄總數

2021-04-02 18:48:19 字數 581 閱讀 4554

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 rows from sysindexes where id object id n tablename and indid 2 該方法獲取表的記錄總數的速度非常快,在毫秒級就可以完成,相比select count 要快上數萬倍,但是 大家在運用該方法是一定要主要,該方法得到的表的總記錄...

PHP開發移動客戶端介面 獲取表中記錄總數

獲取資料庫的表中記錄的數量下面有兩種方法 方法一 conn mysql connect 127.0.0.1 root root or die error info mysql error mysql select db db mxd conn or die result mysql query se...

MSSql技巧之快速得到表的記錄總數

判斷某乙個表的記錄總數,對於乙個開發者來說是最再常見不過的事,我想大家都常用的作法就是 select count from 表名 這種做法沒做,我這兒主要說的是效率問題。當乙個資料表的記錄數不是太多時,這樣得到記錄總數的效率不是問題。但試想,如果乙個表的記錄總數超過幾百萬或者幾千萬,要再用上面的sq...