.show 盘区

适用于:✅Azure 数据资源管理器

注意

数据分片称为“区”,所有命令都将“extent”或“extents”作为同义词使用。 有关盘区的详细信息,请参阅盘区(数据分片)概述

.show extents 命令的类型如下:

注意

如果 .show extents 命令在具有多个区的范围(如数据库或群集)内运行,则可能会消耗大量资源。 建议在尽可能小的范围内使用命令变量。 表范围优于数据库范围,数据库范围优于群集范围。 包含筛选区功能的命令变量优于使用另一个查询来筛选命令结果。

权限

若要查看群集上的盘区,必须具有 AllDatabasesMonitor 权限。

若要查看数据库上的盘区,必须具有 Database UserDatabase ViewerDatabase 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(...))要快。
  • 如果指定了 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 用标记 aaaBBBccc 进行标记。

  • 此查询返回 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'