空间索引存储过程 - 参数和属性

适用范围:SQL Server

本文介绍空间索引存储过程的参数和属性。

Transact-SQL 语法约定

语法

有关特定空间索引存储过程的语法,请参阅以下文章:

参数

[ @tabname = ] N'tabname'

为其指定了空间索引的表的限定或非限定名称。

仅当指定了限定表时才需要引号。 如果提供的是完全限定名称(包括数据库名称),则数据库名称必须是当前数据库的名称。 @tabnamenvarchar(776),没有默认值。

[ @indexname = ] N'indexname'

指定的空间索引的名称。 @indexname为 sysname,无默认值。

[ @verboseoutput = ] verboseoutput

要返回的属性名称和值的范围。 @verboseoutput是 tinyint,没有默认值,可以是这些值之一。

  • 0 = 核心属性
  • >0 = 所有属性

[ @query_sample = ] query_sample

一个代表性的查询示例,可用于测试索引的有用性。 @query_sample是地理位置,没有默认值。 它可能是具有代表性的对象或查询窗口。

[ @xml_output = ] N'xml_output' OUTPUT

返回 XML 片段中的结果集。 @xml_output是 xml 类型的 OUTPUT 参数。

属性

设置为 @verboseoutput = 0 返回核心属性,如下表所示,或 @verboseoutput > 0 返回空间索引的所有属性。

Base_Table_Rows

基表中的行数 值是 bigint

Bounding_Box_xmin

几何图形类型的空间索引的 X 最小边界框属性。 此属性值 NULL 适用于 地理 类型。 值为 float

Bounding_Box_ymin

几何图形类型的空间索引的最小边界框属性。 此属性值 NULL 适用于 地理 类型。 值为 float

Bounding_Box_xmax

几何图形类型的空间索引的 X 最大边界框属性。 此属性值 NULL 适用于 地理 类型。 值为 float

Bounding_Box_ymax

几何图形类型的空间索引的 Y 最大边界框属性。 此属性值 NULL 适用于 地理 类型。 值为 float

Grid_Size_Level_1

空间索引的级别 1 网格密度:

  • 对于 LOW 为 16
  • 对于 MEDIUM 为 64
  • 对于 HIGH 为 256

值为 int

Grid_Size_Level_2

空间索引的级别 2 网格密度:

  • 对于 LOW 为 16
  • 对于 MEDIUM 为 64
  • 对于 HIGH 为 256

值为 int

Grid_Size_Level_3

空间索引的级别 3 网格密度:

  • 对于 LOW 为 16
  • 对于 MEDIUM 为 64
  • 对于 HIGH 为 256

值为 int

Grid_Size_Level_4

空间索引的级别 4 网格密度:

  • 对于 LOW 为 16
  • 对于 MEDIUM 为 64
  • 对于 HIGH 为 256

值为 int

Cells_Per_Object

每个对象的单元格数(索引属性)。 值为 int

Total_Primary_Index_Rows

索引中的行数。 值是 bigint

Total_Primary_Index_Pages

索引中的页数。 值是 bigint

Average_Number_Of_Index_Rows_Per_Base_Row

索引行/数字基表行的数量。 值是 bigint

Total_Number_Of_ObjectCells_In_Level0_For_QuerySample

指示具有代表性的 查询示例是否位于几何图形 索引的边界框之外,是否位于根单元格(级别 0 单元格)之外。 这可以是 0(不在级别 0 单元格中)或 1。 如果位于级别 0 单元格中,则调查的索引不是查询示例的适当索引。 这是一个核心属性。 值是 bigint

Total_Number_Of_ObjectCells_In_Level0_In_Index

在级别 0 中分割的索引对象的单元格实例数(几何图形边界框外根单元格)。 这是一个核心属性。 值是 bigint

对于 几何图形 索引,如果索引的边界框小于数据域,则会出现这种情况。 如果查询窗口部分位于边界框外并降低索引性能(例如, Total_Number_Of_ObjectCells_In_Level0_For_QuerySample 为 1),则级别 0 中的大量对象可能需要辅助筛选器。 如果查询窗口位于边界框内,则级别 0 中的大量对象实际上可能会提高索引的性能。

NULL 和空实例在级别 0 计数,但不会影响性能。 级别 0 在基表中具有任意数量的单元格 NULL 和空实例。 对于 地理 索引,级别 0 具有任意数量的单元格 NULL 和空实例 +1 单元格,因为查询示例计为 1。

Total_Number_Of_ObjectCells_In_Level1_In_Index

以级别 1 精度分割的索引对象的单元格实例数。 这是一个核心属性。 值是 bigint

Total_Number_Of_ObjectCells_In_Level2_In_Index

以级别 2 精度分割的索引对象的单元格实例数。 这是一个核心属性。 值是 bigint

Total_Number_Of_ObjectCells_In_Level3_In_Index

以级别 3 精度分割的索引对象的单元格实例数。 这是一个核心属性。 值是 bigint

Total_Number_Of_ObjectCells_In_Level4_In_Index

使用级别 4 精度进行分割的索引对象的单元格实例数量。 这是一个核心属性。 值是 bigint

Total_Number_Of_interior_ObjectCells_In_Level1_In_Index

在分割级别为 1 的对象完全覆盖的单元格数,因此位于对象内部。 (Cell_attributevalue为2.这是一个核心属性。 值是 bigint

Total_Number_Of_interior_ObjectCells_In_Level2_In_Index

在分割级别为 2 的对象完全覆盖的单元格数,因此位于对象内部。 (Cell_attribute 值为 2。)这是一个核心属性。 值是 bigint

Total_Number_Of_interior_ObjectCells_In_Level3_In_Index

在分割级别为 3 的对象完全覆盖的单元格数,因此位于对象内部。 (Cell_attribute 值为 2。)这是一个核心属性。 值是 bigint

Total_Number_Of_interior_ObjectCells_In_Level4_In_Index

单元格的数目,这些单元格将被位于分割级别 4 的一个对象完全覆盖并因此位于该对象内部。 (Cell_attribute 值为 2。)这是一个核心属性。 值是 bigint

Total_Number_Of_intersecting_ObjectCells_In_Level1_In_Index

在分割级别 1 中与对象相交的单元格数。 (Cell_attribute值为 1。)这是一个核心属性。 值是 bigint

Total_Number_Of_intersecting_ObjectCells_In_Level2_In_Index

以分割级别 2 的对象相交的单元格数。 (Cell_attribute值为 1。)这是一个核心属性。 值是 bigint

Total_Number_Of_intersecting_ObjectCells_In_Level3_In_Index

在分割级别 3 中与对象相交的单元格数。 (Cell_attribute值为 1。)这是一个核心属性。 值是 bigint

Total_Number_Of_intersecting_ObjectCells_In_Level4_In_Index

分割级别 4 中与某个对象相交的单元格的数目。 (Cell_attribute值为 1。)这是一个核心属性。 值是 bigint

Total_Number_Of_Border_ObjectCells_In_Level0_For_QuerySample

指示查询示例是否位于边框之外的根单元格 0 中,但是与其相接触。 这是一个核心属性。 值是 bigint

注意

此信息仅适用于确定边界框是否可能错过的对象。

Total_Number_Of_Border_ObjectCells_In_Level0_In_Index

级别 0 中与边框接触的对象的数目。 (Cell_attribute值为 0。)值是 bigint

Total_Number_Of_Border_ObjectCells_In_Level1_In_Index

在细化级别 1 触摸网格单元格边界的对象单元格数。 (Cell_attribute值为 0。)这是一个核心属性。 值是 bigint

Total_Number_Of_Border_ObjectCells_In_Level2_In_Index

在分割级别 2 上触摸网格单元格边界的对象单元格数。 (Cell_attribute值为 0。)这是一个核心属性。 值是 bigint

Total_Number_Of_Border_ObjectCells_In_Level3_In_Index

在分割级别 3 处触摸网格单元格边界的对象单元格数。 (Cell_attribute值为 0。)这是一个核心属性。 值是 bigint

Total_Number_Of_Border_ObjectCells_In_Level4_In_Index

分割级别 4 中与某个网格单元格边界接触的对象单元格的数目。 (Cell_attribute值为 0。)这是一个核心属性。 值是 bigint

Interior_To_Total_Cells_Normalized_To_Leaf_Grid_Percentage

包含对象覆盖的叶单元格的网格的总面积(总叶单元格)的百分比。

例如,对象在四个不同的网格级别分割成 10 个单元格,覆盖相当于总共 100 个叶单元格的区域。 假设对象完全覆盖了三个内部单元格。 三个内部单元格覆盖的区域相当于 42 个叶单元格。 因此,被覆盖区域的百分比为 42%。 这个百分比很好地表明了索引中对象的破碎程度。

值为 float

Intersecting_To_Total_Cells_Normalized_To_Leaf_Grid_Percentage

Interior_To_Total_Cells_Normalized_To_Leaf_Grid_Percentage相同,只是这些单元格部分覆盖。 值为 float

Border_To_Total_Cells_Normalized_To_Leaf_Grid_Percentage

Interior_To_Total_Cells_Normalized_To_Leaf_Grid_Percentage 相同,只是它们是边框单元格。 值为 float

Average_Cells_Per_Object_Normalized_To_Leaf_Grid

每个标准化为叶网格的对象的平均单元格数 这表示对象的空间大小或对象的大小。 值为 float

Average_Objects_PerLeaf_GridCell

索引的稀疏性。 每个叶单元格的对象的平均数。 值为 float

Number_Of_SRIDs_Found

索引和列中唯一 SRID 的数量。 值为 int

由于列可以包含多个 SRID,并且具有不同 SRID 的对象永远不相交,所以 SRID 的数量指出了索引的选择性。

Width_Of_Cell_In_Level1

索引网格中的单元格的宽度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Width_Of_Cell_In_Level2

索引网格中的单元格的宽度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Width_Of_Cell_In_Level3

索引网格中的单元格的宽度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Width_Of_Cell_In_Level4

索引网格中的单元格的宽度属性。 度量单位由索引提供,并且取决于所索引数据的 SRID。 值为 float

Height_Of_Cell_In_Level1

索引网格中的单元格的高度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Height_Of_Cell_In_Level2

索引网格中的单元格的高度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Height_Of_Cell_In_Level3

索引网格中的单元格的高度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Height_Of_Cell_In_Level4

索引网格中的单元格的高度属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Area_Of_Cell_In_Level1

索引网格中的单元格的面积属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Area_Of_Cell_In_Level2

索引网格中的单元格的面积属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Area_Of_Cell_In_Level3

索引网格中的单元格的面积属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

Area_Of_Cell_In_Level4

索引网格中的单元格的面积属性。 度量单位由索引提供,取决于索引数据的 SRID。 值为 float

CellArea_To_BoundingBoxArea_Percentage_In_Level1

边界框覆盖率的百分比(按级别 1 单元格)。 值为 float

CellArea_To_BoundingBoxArea_Percentage_In_Level2

边界框覆盖率的百分比(按级别 2 单元格)。 值为 float

CellArea_To_BoundingBoxArea_Percentage_In_Level3

边界框覆盖率的百分比(按级别 3 单元格)。 值为 float

CellArea_To_BoundingBoxArea_Percentage_In_Level4

级别 4 单元格边框的覆盖面积百分比。 值为 float

Number_Of_Rows_Selected_By_Primary_Filter

由主要筛选器选择的行数。 这是一个核心属性。 值是 bigint

Number_Of_Rows_Selected_By_Internal_Filter

由内部筛选器选择的行数。 不为这些行调用辅助筛选器。 这是一个核心属性。 值是 bigint

返回的数字仅适用于 STintersect。

Number_Of_Times_Secondary_Filter_Is_Called

次要筛选器的调用次数。 这是一个核心属性。 值是 bigint

Percentage_Of_Rows_NotSelected_By_Primary_Filter

如果在基表中有 N 行,并且被主要筛选器选择了 P 行,则会返回百分比形式的 (N-P)/N。 这是一个核心属性。 值为 float

Percentage_Of_Primary_Filter_Rows_Selected_By_internal_Filter

如果被主要筛选器选择了 P 行,并且被内部筛选器选择了 S 行,则会返回百分比形式的 S/P。 百分比越高,索引就能够越好地避免使用性能开销巨大的次要筛选器。 这是一个核心属性。 值为 float

Number_Of_Rows_Output

查询输出的行数。 这是一个核心属性。 值是 bigint

Internal_Filter_Efficiency

如果 O 是输出的行的数目,将返回百分比形式的 S/O。 这是一个核心属性。 值为 float

Primary_Filter_Efficiency

如果主筛选器选择了 P 行,O 是输出的行数,则返回百分比形式的 P 行。 主要筛选器的效率越高,次要筛选所必须处理的误报就越少。 这是一个核心属性。 值为 float

权限

用户必须是公共角色的成员。 需要服务器和对象的 READ ACCESS 权限。 这适用于所有空间索引存储过程。

注解

包含 NULL 值的属性不包括在返回集中。

示例

有关示例,请参阅以下文章: