Getting rowcount of a table using the count() function is not a good idea as it would take too long for a large table. Worse, if you want to get the rowcount of every table in a database. Thankfully there is a dynamic view sys.dm_db_partition_stats that has the rowcounts readily available.
JOIN sys.indexes si ON si.OBJECT_ID = so.OBJECT_ID
JOIN sys.dm_db_partition_stats AS ddps
ON si.OBJECT_ID = ddps.OBJECT_ID AND si.index_id = ddps.index_id
WHERE si.index_id < 2 AND so.is_ms_shipped = 0
ORDER BY ddps.row_count DESC
Hope this is usefull!
SELECT so.name as TableName, ddps.row_count as [RowCount]
FROM sys.objects soJOIN sys.indexes si ON si.OBJECT_ID = so.OBJECT_ID
JOIN sys.dm_db_partition_stats AS ddps
ON si.OBJECT_ID = ddps.OBJECT_ID AND si.index_id = ddps.index_id
WHERE si.index_id < 2 AND so.is_ms_shipped = 0
ORDER BY ddps.row_count DESC
Hope this is usefull!
2 comments:
Great thanks :)
Nice Article !
Really this will help to people of SQL Server Community.
I have also prepared small note on this, Script to find row size and count of the SQL Server Table.
http://www.dbrnd.com/2016/04/sql-server-find-the-total-row-count-and-size-of-the-tables/
Post a Comment
Please let me know if you find it useful!