wshq 发表于 2016-11-5 09:30:14

SQL Server中查看所有表RowCount最高效的SQL

  本文转自:http://www.cnblogs.com/rockniu/archive/2009/09/03/1559306.html
  
  -- Shows all user tables and row counts for the current database
  -- Remove OBJECTPROPERTY function call to include system objects
  
  SELECT o.NAME,i.rowcnt
   FROM sysindexes AS i INNER JOIN sysobjects AS o ON i.id = o.id
   WHERE i.indid < 2 AND OBJECTPROPERTY(o.id, 'IsMSShipped') = 0
   ORDER BY o.NAME
  
  注意:
  sysindexes这个系统表会在将来的SQL Server中删除,所以建议SQL 2005和2008使用下面的DMV代替:
  -- Shows all user tables and row counts for the current database
  -- Remove is_ms_shipped = 0 check to include system objects
  -- i.index_id < 2 indicates clustered index (1) or hash table (0)
  SELECT o.name,ddps.row_count
   FROM sys.indexes AS i INNER JOIN sys.objects AS o ON i.OBJECT_ID = o.OBJECT_ID
  INNER JOIN sys.dm_db_partition_stats AS ddps ON i.OBJECT_ID = ddps.OBJECT_ID
   AND i.index_id= ddps.index_id
   WHERE i.index_id < 2 AND o.is_ms_shipped = 0
   ORDER BY o.NAME

  
页: [1]
查看完整版本: SQL Server中查看所有表RowCount最高效的SQL