ITPub博客

首页 > 数据库 > > sql server 2012中统计表行数的三种方法

sql server 2012中统计表行数的三种方法

作者:浪花小雨滴 时间:2020-05-14 14:58:13 0 删除 编辑
--01.使用sys.partitions和sys.tables
SELECT OBJECT_NAME(object_id) AS object_name,
       rows
FROM sys.partitions
WHERE index_id IN ( , 1 )
      AND object_id IN (
                           SELECT object_id FROM sys.tables
                       );

GO
--02.使用sp_spaceused
--step01,构建表函数
DECLARE @table_rows TABLE
(
    name NVARCHAR(MAX),
    rows BIGINT,
    reserved NVARCHAR(100),
    data NVARCHAR(100),
    index_size NVARCHAR(100),
    unused NVARCHAR(100)
);
INSERT INTO @table_rows
(
    name,
    rows,
    reserved,
    data,
    index_size,
    unused
)
EXEC sp_MSforeachtable @command1 = 'exec sp_spaceused ''?''';

SELECT a.name,
       a.rows,
       a.reserved,
       a.data,
       a.index_size,
       a.unused
FROM @table_rows AS a;
--03,使用sysobject和sysindexes
SELECT a.name,
       b.rows
FROM sysobjects a
    INNER JOIN sysindexes AS b
        ON a.id = b.id
WHERE a.xtype = 'u'
      AND b.indid IN ( , 1 );

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3131711/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 代码保存
请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    39943