When COUNT(*) was too slow to get total rows from a billion row heap …
SELECT MAX(REPLACE(CONVERT(VARCHAR(20),
CONVERT(MONEY, rowcnt), 1), '.00', '')) [rows]
FROM sys.sysindexes
WHERE OBJECT_NAME(id) = 'TableName';
Original code from here …