SQL Server中统计每个表行数的快速方法

作者:junjie 时间:2024-01-19 08:51:21 

我们都知道用聚合函数count()可以统计表的行数。如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一个动态SQL语句并执行,才能得到结果。以前在互联网上看到有一种很好的解决方法,忘记出处了,写下来分享一下。

该方法利用了sysindexes 系统表提供的rows字段。rows字段记录了索引的数据级的行数。解决方法的代码如下:


select schema_name(t.schema_id) as [Schema], t.name as TableName,i.rows as [RowCount]

from sys.tables as t, sysindexes as i

where t.object_id = i.id and i.indid <=1

该方法连接了sys.tables视图,从中找出表名和schema_id,再通过schema_name函数获取表的架构名。筛选条件i.indid <=1 只选聚集索引或者堆,每个表至少有一个堆或者聚集索引,从而保证为每个表返回一行。以下是在我的AdventureWorks数据库中运行该查询返回的部分结果:


Schema                  TableName              RowCount
——————– ——————– ———–
Sales                      Store                     701
Production              ProductPhoto          101
Production              ProductProductPhoto  504
Sales                      StoreContact          753
Person                    Address                 19614
Production              ProductReview         4
Production              TransactionHistory   113443
Person                   AddressType            6


该方法的优点有:

1.运行速度非常快。
2.由于不访问用户表,不会在用户表上放置锁,不会影响用户表的性能。
3.可以将该查询写成子查询、CTE或者视图,与其它查询结合使用。

标签:SQL,Server,统计,表行数
0
投稿

猜你喜欢

  • Python3内置模块之base64编解码方法详解

    2021-04-01 15:45:24
  • MySQL 使用自定义变量进行查询优化

    2024-01-25 05:24:41
  • JavaScript Distilled 基础知识与函数

    2024-05-02 16:29:23
  • Python 带星号(* 或 **)的函数参数详解

    2023-04-25 22:36:40
  • MySQL关于字符串中数字排序的问题分析

    2024-01-21 23:30:18
  • 聊天室php&mysql(五)

    2023-11-19 20:18:22
  • 详解mysql不等于null和等于null的写法

    2024-01-25 20:02:47
  • 讲解SQL Server安装sp4补丁报错的解决方法

    2009-04-11 17:39:00
  • Python之修改图片像素值的方法

    2022-03-14 03:46:18
  • 封装html的select标签的js操作实例

    2024-05-09 10:34:07
  • php flv视频时间获取函数

    2023-09-04 13:41:48
  • Python运算符重载用法实例分析

    2023-03-18 07:28:11
  • Vue 通过自定义指令回顾v-内置指令(小结)

    2023-07-02 16:56:42
  • oracle,mysql,SqlServer三种数据库的分页查询的实例

    2024-01-13 13:04:38
  • python+pyqt5编写md5生成器

    2022-03-11 03:06:47
  • 基于Python实现拉格朗日插值法

    2022-03-18 18:52:18
  • 窥探mysql存储过程细节

    2024-01-13 07:27:52
  • opencv实现车牌识别

    2023-08-10 01:59:38
  • 解决python中画图时x,y轴名称出现中文乱码的问题

    2023-08-04 09:00:23
  • python爬取豆瓣电影TOP250数据

    2021-12-27 12:50:17
  • asp之家 网络编程 m.aspxhome.com