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

适用于:SQL Server

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

Transact-SQL 语法约定

语法

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

参数

[ @tabname = ] N'tabname'

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

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

[ @indexname = ] 'indexname'

指定的空间索引的名称。 @indexnamesysname ,没有默认值。

[ @verboseoutput = ] verboseoutput

要返回的属性名称和值的范围。

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

@verboseoutput 是无默认值的 tinyint

[ @query_sample = ] 'query_sample'

可用于测试索引的有用性的代表性查询示例。 它可以是一个有代表性的对象或查询窗口。 query_sample 是没有默认值 的几何图形

[ @xml_output = ] 'xml_output'

在 XML 片段中返回结果集的输出参数。 xml_output 为没有默认值的 xml

属性

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

Base_Table_Rows

基表中的行数 值是 bigint

Bounding_Box_xmin

几何图形类型的空间索引的 X 最小边界框属性。 对于 geography 类型,此属性值为 NULL。 值为 float

Bounding_Box_ymin

几何图形类型的空间索引的 Y 最小边界框属性。 对于 geography 类型,此属性值为 NULL。 值为 float

Bounding_Box_xmax

几何图形类型的空间索引的 X 最大边界框属性。 对于 geography 类型,此属性值为 NULL。 值为 float

Bounding_Box_ymax

几何图形类型的空间索引的 Y 最大值边界框属性。 对于 geography 类型,此属性值为 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

返回的数字仅适用于 STintersects

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 是输出的行数,则以百分比形式返回O/P。 主要筛选器的效率越高,次要筛选所必须处理的误报就越少。 这是一个核心属性。 值为 float

权限

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

备注

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

示例

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

另请参阅