报告索引中碎片和分布偏差的数量信息。
sa_index_density( [ tbl_name [, owner_name ] ] )
tbl_name 使用此可选的 CHAR(128) 参数指定表名。
owner_name 使用此可选的 CHAR(128) 参数指定所有者名。
列名 | 数据类型 | 说明 |
---|---|---|
TableName | CHAR(128) | 表的名称。 |
TableId | UNSIGNED INTEGER | 表 ID。 |
IndexName | CHAR(128) | 索引的名称。 |
IndexId | UNSIGNED INTEGER |
索引 ID。此列包含以下值之一:
|
IndexType | CHAR(4) |
索引类型。此列包含以下值之一:
|
LeafPages | UNSIGNED INTEGER | 叶页的数目。 |
Density | DOUBLE | 介于 0 和 1 之间的分数,提供每个索引页的平均占用程度的指示。 |
Skew | DOUBLE | 一个数字,用于指示索引中的不均衡级别。值 1 表示完全均衡的索引。数值越大,分布偏差的程度越大。 |
sa_index_density 系统过程用于获取索引中碎片和分布偏差程度的信息。对于有较多叶页的索引,理想的情况是密度值较高、分布偏差值较低。
索引密度反映索引页的平均丰满度,以百分比表示。密度为 0.7 表示平均有 70% 的索引页已填满索引数据。索引分布偏差反映了与平均密度的典型差值。进行选择性估计时,分布偏差量对于优化程序十分重要。
当叶页数较低时,无需考虑密度和分布偏差值。只有叶页数较高时,密度和分布偏差值才变得重要。当叶页数较高时,较低的密度值表示存在碎片,而较高的分布偏差值则表示索引分布不均衡。二者都有可能是导致性能低下的因素。通过执行 REORGANIZE TABLE 语句即可解决这两个问题。请参见REORGANIZE TABLE 语句。
如果调用此过程时未指定表,则返回数据库中所有表上的所有索引信息。
还可以使用 [应用程序分析向导] 确定索引密度和分布偏差是否处于可以接受的级别。请参见应用程序分析向导。
DBA 特权
无
以下示例使用 sa_index_density 系统过程返回一个结果集,汇总了数据库中所有索引的碎片和分布偏差的数量。
CALL sa_index_density( ); |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |