国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server中統計每個表行數的快速方法

2020-07-25 12:54:17
字體:
來源:轉載
供稿:網友

我們都知道用聚合函數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
―――――― 主站蜘蛛池模板: 丰台区| 邓州市| 新和县| 大名县| 错那县| 靖州| 会东县| 丹巴县| 原平市| 湄潭县| 尤溪县| 巴塘县| 宜良县| 康定县| 邵阳市| 贵港市| 紫金县| 万宁市| 临清市| 双城市| 山东| 云龙县| 东方市| 碌曲县| 潜江市| 澜沧| 蒙城县| 吉木萨尔县| 安吉县| 丹棱县| 黄大仙区| 石林| 洱源县| 古丈县| 夏邑县| 东平县| 银川市| 焉耆| 彰武县| 临潭县| 夏津县|