[MSSQL] select count(*)的替代方法

[MSSQL] select count(*)的替代方法

在查詢資料庫的時候,應該多多少少會用需要去查詢現在的資了表中有多少筆資料.

這時,應該都會想到用count來取得,

如果資料表中只有幾筆資料的話,這樣用應該是沒有甚麼大礙,

但是如果資料表中有幾百萬筆或是幾千萬筆,你應該就不會想要用count了.

因為以一個七千多萬筆資料的資料表來說,

一個count就需要1分30秒,而且這個資料表還是只有四五個欄位的簡單資料表.

 

但如果資料太多但就是想要知道有多少筆資料的話,最簡單的方式就是從系統資料表查詢.語法如下:

SELECT sys.partitions.rows
from sys.partitions
where index_id = 1 and object_id = OBJECT_ID('TableName')