.show 盘区
适用于:✅Azure 数据资源管理器
注意
数据分片称为“区”,所有命令都将“extent”或“extents”作为同义词使用。 有关盘区的详细信息,请参阅盘区(数据分片)概述。
.show extents
命令的类型如下:
注意
如果 .show extents
命令在具有多个区的范围(如数据库或群集)内运行,则可能会消耗大量资源。 建议在尽可能小的范围内使用命令变量。 表范围优于数据库范围,数据库范围优于群集范围。 包含筛选区功能的命令变量优于使用另一个查询来筛选命令结果。
权限
若要查看群集上的盘区,必须具有 AllDatabasesMonitor
权限。
若要查看数据库上的盘区,必须具有 Database User
、Database Viewer
或 Database Monitor
权限。
有关详细信息,请参阅基于角色的访问控制。
表范围
语法
显示有关指定表中存在的盘区(数据分片)的信息。 数据库取自命令的上下文。
如果指定了 hot
则仅显示应位于热缓存中的盘区。
.show
table
TableName extents
[(
ExtentId [,
...])
] [hot
] [where
tags
(has
|contains
|!has
|!contains
) TagName [and
tags
(has
|contains
|!has
|!contains
) TagName [,
...]]]
.show
tables
(
TableName [,
...])
extents
[(
ExtentId [,
...])
] [hot
] [where
tags
(has
|contains
|!has
|!contains
) TagName [and
tags
(has
|contains
|!has
|!contains
) TagName [,
...]]]
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
TableName | string |
✔️ | 表的名称。 |
ExtentId | string |
要显示的盘区的 ID。 | |
标记 | string |
要按说明筛选的标记的名称。 |
建议
- 在命令中使用内置筛选功能比添加基于查询的筛选器(例如,添加
| where DatabaseName == '...'
和TableName == '...'
)更可取。 - 如果提供了盘区 ID 的可选列表,则返回的数据集仅限于这些盘区。
- 此方法比筛选“bare”命令的结果(添加
| where ExtentId in(...)
)要快。
- 此方法比筛选“bare”命令的结果(添加
- 如果指定了
tags
筛选器:- 返回的列表仅限于标记集合遵循所有提供的标记筛选条件的盘区。
- 此方法比筛选“bare”命令的结果(添加
| where Tags has '...' and Tags contains '...'
)要快。 has
筛选器是相等性筛选器。 未使用任何指定标记标记的盘区会被筛选掉。!has
筛选器是相等负筛选器。 使用任何指定标记标记的盘区会被筛选掉。contains
筛选器是不区分大小写的子字符串筛选器。 未将指定字符串作为其任何标记的子字符串的盘区会被筛选掉。!contains
筛选器是不区分大小写的子字符串负筛选器。 将指定字符串作为其任何标记的子字符串的盘区会被筛选掉。
数据库范围
显示有关指定数据库中存在的盘区(数据分片)的信息。
如果指定了 hot
- 仅显示应位于热缓存中的盘区。
语法
.show
database
DatabaseName extents
[(
ExtentId [,
...])
] [hot
] [where
tags
(has
|contains
|!has
|!contains
) TagName [and
tags
(has
|contains
|!has
|!contains
) TagName [,
...]]]
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
DatabaseName | string |
✔️ | 数据库的名称。 |
ExtentId | string |
要显示的盘区的 ID。 | |
标记 | string |
要按说明筛选的标记的名称。 |
群集范围
语法
.show
cluster
extents
[hot
]
详细了解语法约定。
显示有关群集中存在的盘区(数据分片)的信息。
如果指定了 hot
- 仅显示应位于热缓存中的盘区。
返回
输出参数 | 类型 | 说明 |
---|---|---|
ExtentId | guid |
盘区 ID |
DatabaseName | string |
盘区所属的数据库。 |
TableName | string |
盘区所属的表。 |
MaxCreatedOn | datetime |
创建盘区时的日期时间。 对于合并的盘区,则是源盘区中创建时间的最大值。 |
OriginalSize | 双精度 | 盘区数据的原始大小(以字节为单位)。 |
ExtentSize | 双精度 | 内存中的盘区大小(已压缩 + 索引)。 |
CompressedSize | 双精度 | 内存中盘区数据的压缩大小。 |
IndexSize | 双精度 | 盘区数据的索引大小。 |
块 | long |
盘区中的数据块数。 |
段数 | long |
盘区中的数据段数。 |
ExtentContainerId | string |
盘区所在的盘区容器的 ID。 |
RowCount | long |
盘区中的行数。 |
MinCreatedOn | datetime |
创建盘区时的日期时间。 对于合并的盘区,则是源盘区中创建时间的最小值。 |
标记 | string |
为盘区定义的标记(如果有)。 |
种类 | string |
创建了盘区的存储引擎的类型。 |
DeletedRowCount | long |
盘区中已删除的行数。 |
示例
标记的盘区
表 T
中的盘区 E
用标记 aaa
、BBB
和 ccc
进行标记。
此查询返回
E
:.show table T extents where tags has 'aaa' and tags contains 'bb'
此查询不会返回
E
,因为它未使用aa
进行标记:.show table T extents where tags has 'aa' and tags contains 'bb'
此查询返回
E
:.show table T extents where tags contains 'aaa' and tags contains 'bb'
显示创建的盘区量
显示每小时在特定数据库中创建的盘区量
.show database MyDatabase extents | summarize count(ExtentId) by MaxCreatedOn bin=time(1h) | render timechart
显示每个表每小时到达的数据量
.show database MyDatabase extents
| summarize sum(OriginalSize) by TableName, MaxCreatedOn bin=time(1h)
| render timechart
显示每个表的数据大小分布
.show database MyDatabase extents | summarize sum(OriginalSize) by TableName
显示名为“GamesDB”的数据库中的所有盘区
.show database GamesDB extents
显示名为“Games”的表中的所有盘区
.show table Games extents
显示特定表中的所有盘区
显示名为“TaggingGames1”和“TaggingGames2”并标记为“tag1”和“tag2”的表中的所有盘区
.show tables (TaggingGames1,TaggingGames2) extents where tags has 'tag1' and tags has 'tag2'