Faster Way to Get Count of Rows in a Table

The most common way that I see people get a count of rows in a table in SQL Server 2005 is SELECT COUNT(*) FROM dbo.TableName WITH (NOLOCK). This works, but is expensive from a logical IO perspective. One alternative is to query sys.partitions to get the same information.  Below are results for the two methods on a table with 43 million rows of data:

— Common Way
SELECT COUNT(*) FROM dbo.TableName WITH (NOLOCK)
— Table ‘TableName’. Scan count 1, logical reads 193614, physical reads 0, read-ahead reads 55, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
— Cost 100%
— Time 8-9 seconds

— Faster Way
SELECT SUM(Rows) AS Count
FROM sys.partitions
WHERE index_id < 2
AND OBJECT_NAME(object_id) = ‘TableName’
— Table ‘sysrowsets’. Scan count 1, logical reads 5, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
— Cost 0%
— nearly instantaneous

Technorati Tag: SQL Server

This entry was posted in SQL Server 2005. Bookmark the permalink.

4 Responses to Faster Way to Get Count of Rows in a Table

  1. Unknown says:

    Slightly more effective to look up the object id for a particular string once, than to look up the string for each id in the table.  Only makes a minor difference, but it\’s those little minor differences that make up the big difference.
     

    SELECT SUM(Rows) AS Count
    FROM sys.partitions WHERE index_id < 2
    AND object_id = OBJECT_ID(\’Details\’)

  2. Unknown says:

    Thanks for the trick btw, very useful.

  3. 128 says:

    <a href="http://tw.sparkletrade.com//"&gt;. </a><a href="http://video.pjgou.com//"&gt;. </a><a href="http://blog.sina.com.tw/film00//"&gt;. </a><a href="http://blog.sina.com.tw/game11//"&gt;. </a><a href="http://blog.sina.com.tw/momoer//"&gt;. </a><a href="http://blog.sina.com.tw/shimi//"&gt;. </a><a href="http://blog.sina.com.tw/xingzuo//"&gt;. </a><a href="http://blog.sina.com.tw/tudou2//"&gt;. </a><a href="http://blog.sina.com.tw/lottery//"&gt;. </a><a href="http://blog.sina.com.tw/entertainment//"&gt;. </a><a href="http://blog.sina.com.tw/fear//"&gt;. </a><a href="http://blog.sina.com.tw/savemoney//"&gt;. </a><a href="http://blog.sina.com.tw/piaoliang//"&gt;. </a><a href="http://blog.sina.com.tw/comics//"&gt;. </a><a href="http://blog.sina.com.tw/lunar//"&gt;. </a><a href="http://blog.sina.com.tw/nowfortune//"&gt;. </a><a href="http://blog.sina.com.tw/chat//"&gt;. </a><a href="http://blog.sina.com.tw/coup//"&gt;. </a><a href="http://blog.sina.com.tw/psp09//"&gt;. </a><a href="http://blog.sina.com.tw/valentine//"&gt;. </a><a href="http://blog.sina.com.tw/iv09//"&gt;. </a><a href="http://blog.sina.com.tw/gucci2009//"&gt;. </a><a href="http://blog.sina.com.tw/game09//"&gt;. </a><a href="http://blog.sina.com.tw/marksix//"&gt;. </a><a href="http://blog.sina.com.tw/fagu//"&gt;. </a><a href="http://blog.sina.com.tw/gaot//"&gt;. </a><a href="http://blog.sina.com.tw/shou//"&gt;. </a><a href="http://blog.sina.com.tw/thin//"&gt;. </a><a href="http://blog.sina.com.tw/moon09//"&gt;. </a><a href="http://blog.sina.com.tw/apip//"&gt;.</a><a href="http://blog.sina.com.tw/chengni//"&gt;. </a><a href="http://blog.sina.com.tw/step//"&gt;. </a><a href="http://blog.sina.com.tw/four//"&gt;. </a><a href="http://blog.sina.com.tw/houj//"&gt;. </a><a href="http://blog.sina.com.tw/huag//"&gt;. </a><a href="http://blog.sina.com.tw/lipeng//"&gt;.</a><a href="http://blog.sina.com.tw/leile//"&gt;. </a><a href="http://blog.sina.com.tw/yimeng//"&gt;. </a><a href="http://blog.sina.com.tw/tsubasa0//"&gt;. </a><a href="http://blog.sina.com.tw/gsusgod//"&gt;. </a><a href="http://blog.sina.com.tw/fullmetal//"&gt;. </a><a href="http://blog.sina.com.tw/anime//"&gt;. </a><a href="http://blog.sina.com.tw/anime01//"&gt;. </a><a href="http://blog.sina.com.tw/dragonball//"&gt;. </a>

  4. 128 says:

    <a href="http://blog.sina.com.tw/heavenroute//"&gt;. </a><a href="http://blog.sina.com.tw/celebrated//"&gt;. </a><a href="http://blog.sina.com.tw/nogo//"&gt;. </a><a href="http://blog.sina.com.tw/dongman//"&gt;. </a><a href="http://blog.sina.com.tw/cartoon01//"&gt;. </a><a href="http://blog.sina.com.tw/dongman01//"&gt;. </a><a href="http://blog.sina.com.tw/dongman3//"&gt;. </a><a href="http://blog.sina.com.tw/mercurynavigator//"&gt;. </a><a href="http://blog.sina.com.tw/glassmask//"&gt;. </a><a href="http://blog.sina.com.tw/comics01//"&gt;. </a><a href="http://blog.sina.com.tw/comics02//"&gt;. </a><a href="http://blog.sina.com.tw/comics04//"&gt;. </a><a href="http://blog.sina.com.tw/comics05//"&gt;. </a><a href="http://blog.sina.com.tw/graduate//"&gt;. </a><a href="http://blog.sina.com.tw/comics06//"&gt;. </a><a href="http://blog.sina.com.tw/comics07//"&gt;. </a><a href="http://blog.sina.com.tw/comics08//"&gt;. </a><a href="http://blog.sina.com.tw/comics09//"&gt;. </a><a href="http://blog.sina.com.tw/comics10//"&gt;. </a><a href="http://blog.sina.com.tw/comics11//"&gt;. </a><a href="http://blog.sina.com.tw/comics12//"&gt;. </a><a href="http://blog.sina.com.tw/comics13//"&gt;. </a><a href="http://blog.sina.com.tw/comics14//"&gt;. </a><a href="http://blog.sina.com.tw/comics15//"&gt;. </a><a href="http://blog.sina.com.tw/comics16//"&gt;. </a><a href="http://blog.sina.com.tw/comics17//"&gt;. </a><a href="http://blog.sina.com.tw/comics18//"&gt;. </a><a href="http://blog.sina.com.tw/comics19//"&gt;. </a><a href="http://tw.sparkletrade.com/forumdisplay.php?fid=112//"&gt;. </a><a href="http://tw.sparkletrade.com/forumdisplay.php?fid=401//"&gt;. </a><a href="http://tw.sparkletrade.com/forumdisplay.php?fid=249//"&gt;. </a><a href="http://tw.sparkletrade.com/forumdisplay.php?fid=119//"&gt;. </a> good,very good!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s