Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » システム・オブジェクト » システム・プロシージャ » システム・プロシージャのアルファベット順リスト

 

sa_index_levels システム・プロシージャ

インデックス内のレベル数が報告され、パフォーマンスのチューニングに役立てることができます。

構文
sa_index_levels( 
[ 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。このカラムには、次のいずれかが含まれます。

  • 0   プライマリ・キーの場合

  • SYSFKEY.foreign_key_id   外部キーの場合

  • SYSIDX.index_id   その他すべてのインデックスの場合

IndexType CHAR(4) インデックス・タイプ。このカラムには、次のいずれかの値が含まれます。
  • PKEY   プライマリ・キーの場合

  • FKEY   外部キーの場合

  • UI   ユニーク・インデックスの場合

  • UC   一意性制約の場合

  • NUI   ユニークでないインデックスの場合

Levels INTEGER インデックス内のレベル数。
備考

インデックス・ツリー内のレベル数は、そのインデックスを使用しているローに対するアクセスに必要な I/O 操作の数を決定します。レベル数の少ないインデックスの方が、レベル数が多いインデックスよりも効率的です。

このプロシージャは、テーブル名、テーブル ID、インデックス名、インデックス ID、インデックス・タイプ、インデックス内のレベル数で構成される結果セットを返します。

引数が指定されない場合は、データベースにあるすべてのインデックスのレベルが返されます。tbl_name のみを指定した場合、そのテーブルのすべてのインデックスのレベルが提示されます。tbl_name が NULL であり、owner_name が指定された場合は、そのユーザが所有しているテーブルにあるインデックスのレベルだけが返されます。

パーミッション

DBA 権限が必要です。

関連する動作

なし

参照

次の例では、sa_index_levels システム・プロシージャを使用して、Products インデックス内のレベル数を返します。

CALL sa_index_levels( );
TableName TableId IndexName ... Levels
Products 436 Products ... 1
... ... ... ... ...