空间索引存储过程 - 参数和属性
适用范围:SQL Server
本文介绍空间索引存储过程的参数和属性。
语法
有关特定空间索引存储过程的语法,请参阅以下文章:
- sp_help_spatial_geometry_index (Transact-SQL)
- sp_help_spatial_geometry_index_xml (Transact-SQL)
- sp_help_spatial_geography_index (Transact-SQL)
- sp_help_spatial_geography_index_xml (Transact-SQL)
参数
[ @tabname = ] N'tabname'
为其指定了空间索引的表的限定或非限定名称。
仅当指定了限定表时才需要引号。 如果提供的是完全限定名称(包括数据库名称),则数据库名称必须是当前数据库的名称。 @tabname 为 nvarchar(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
值的属性不包括在返回集中。
示例
有关示例,请参阅以下文章:
- sp_help_spatial_geometry_index (Transact-SQL)
- sp_help_spatial_geometry_index_xml (Transact-SQL)
- sp_help_spatial_geography_index (Transact-SQL)
- sp_help_spatial_geography_index_xml (Transact-SQL)