转载自:http://www.cnblogs.com/kenyang/archive/2013/04/09/3011447.html

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

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

1
2
3
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

该方法的优点有:

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

一种快速统计SQL Server每个表行数的方法相关推荐

  1. python excel处理重复行并统计个数_python统计一个文本中重复行数的方法

    python统计一个文本中重复行数的方法 这篇文章主要介绍了python统计一个文本中重复行数的方法,涉及针对Python中dict对象的使用及相关本文的操作,具有一定的借鉴价值,需要的朋友可以参考下 ...

  2. python统计重复的数_python统计一个文本中重复行数的方法

    本文实例讲述了python统计一个文本中重复行数的方法.分享给大家供大家参考.具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本 ...

  3. 利用T-SQL动态定义重复SQL Server数据库表行

    介绍 (Introduction) Lever T-SQL to handle duplicate rows in SQL Server database tables article highlig ...

  4. SQL Server 堆表行存储大小(Record Size)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 堆表行记录存储格式(Heap) 案例分析(Case) 参考文献(References) 二.背 ...

  5. SQL SERVER 查询表的行数

    SELECT OBJECT_NAME(ii.id) TableName ,rows FROM sysindexes ii INNER JOIN sysobjects oo ON ( oo.id = i ...

  6. php mssql统计表中的主键个数,MSSQL_SQL Server中统计每个表行数的快速方法,我们都知道用聚合函数count()可 - phpStudy...

    SQL Server中统计每个表行数的快速方法 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一 ...

  7. 【Microsoft Azure 的1024种玩法】四十八.基于Azure Virtual Machines快速搭建SQL Server应用

    [简介] SQL Server系列软件是Microsoft 公司推出的关系型数据库管理系统,本文的主要内容是围绕着Azure Virtual Machines 来快速搭建SQL Server应用,使我 ...

  8. php多表查询性能优化,MSSQL_SQL Server多表查询优化方案集锦,SQL Server多表查询的优化方案是 - phpStudy...

    SQL Server多表查询优化方案集锦 SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容. 1.执行路 ...

  9. php从注册列表卸载,MSSQL_彻底删除SQL Server注册表的方法,一般在卸载完数据库时,大家 - phpStudy...

    彻底删除SQL Server注册表的方法 一般在卸载完数据库时,大家都希望能够将注册表信息完全删干净,下面就将教您彻底删除SQL Server注册表的方法,供您参考. 在卸载SQL Server开始- ...

最新文章

  1. Oracle Sql Developer
  2. AbstractListView源码分析8
  3. BZOJ4300 绝世好题
  4. mysql 与 mycat集成读写分离
  5. 985研究生组团诈骗,一个中招就关App,涉案金额超1亿,受害人遍布全国
  6. python求解LeetCode 习题 Excel Sheet Column Title
  7. H3C交换机常用配置命令
  8. 怎样开启无线热点服务器,Win7开启无线WIFI热点
  9. 嵌入式lab3——自行车码表
  10. 【蓝桥杯】枚举,模拟,排序专题 (一)
  11. 爬虫之旅(二):爬取b站搜索数据
  12. DNS基础:域名解析、多重域名解析、特殊域名解析、主从同步设置
  13. SpringCloud的认识和基本入门使用
  14. 做一个登陆效果,输入用户名和密码,如果用户名是:张三,密码是:123就提示登陆成功,否则提示登录失败。
  15. javaweb学习笔记(五)
  16. ffmpeg把透明背景图片合成透明背景视频
  17. SEdb:超级增强子数据库简介
  18. python爬取知乎热搜_Python知乎热门话题数据的爬取实战
  19. c语言中字符串转数字函数
  20. 四轴飞行器-概念扫盲

热门文章

  1. makefile 通用模板(修正第一次版本)
  2. c语言中throw的用法,C中的内联throw()方法
  3. 小程序在输入npm命令_微信小程序使用npm包步骤
  4. 深度linux添加xp,Linux和Windos XP下向路由表添加路由
  5. matlab 时间序列模型稳定度检验
  6. 解读ADC采样芯片(EV10AQ190A)的采样(工作)模式(双通道模式)
  7. JavaScript多态
  8. IIS与ASP.NET对请求的处理
  9. istio入门(05)istio的架构概念2
  10. 关于RecyclerView