getIndexInfo メソッド (SQLServerDatabaseMetaData)
渡されたテーブルのインデックスと統計情報についての記述を取得します。
構文
public java.sql.ResultSet getIndexInfo(java.lang.String cat,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
パラメーター
cat
カタログ名を含む文字列です。
schema
スキーマ名を含む文字列です。
テーブル
テーブル名を含む文字列です。
unique
一意の値のインデックスのみが返される場合は true です。 インデックスがすべて返される場合は false です。
approximate
結果に概数または期限切れの値が反映されている場合は true です。 結果が正確である場合は false です。
戻り値
SQLServerResultSet オブジェクトです。
例外
解説
この getIndexInfo メソッドは、java.sql.DatabaseMetaData インターフェイスの getIndexInfo メソッドで規定されています。
getIndexInfo メソッドによって返される結果セットには、次の情報が含まれます。
名前 | 種類 | 説明 |
---|---|---|
TABLE_CAT | String | 指定したテーブルが含まれているデータベースの名前です。 |
TABLE_SCHEM | String | テーブルのスキーマです。 |
TABLE_NAME | String | テーブルの名前。 |
NON_UNIQUE | boolean | インデックス値が重複可能であるかどうかを示します。 |
INDEX_QUALIFIER | String | インデックス所有者の名前です。 TYPE が tableIndexStatistic の場合は null になります。 |
INDEX_NAME | String | インデックスの名前です。 |
TYPE | short | インデックスの型です。 次のいずれかの値を指定できます。 tableIndexStatistic (0) tableIndexClustered (1) tableIndexHashed (2) tableIndexOther (3) |
ORDINAL_POSITION | short | インデックス内での列の位置を示す序数です。 インデックスの最初の列は 1 です。 |
COLUMN_NAME | String | 列の名前。 |
ASC_OR_DESC | String | インデックスの照合で使用される順序です。 次のいずれかの値を指定できます。 A (昇順) D (降順) NULL (適用なし) 注: SQL Server では、必ず "A" を返します。 |
CARDINALITY | int | テーブル内の行数またはインデックス内の一意の値の個数です。 |
PAGES | int | インデックスまたはテーブルの格納に使用するページ数です。 |
FILTER_CONDITION | String | フィルター条件です。 注: SQL Server では、必ず null 値を返します。 |
Note
getIndexInfo メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_indexes (Transact-SQL)」を参照してください。
例
次の例では、getIndexInfo メソッドを使って、AdventureWorks2022 サンプル データベースの Person.Contact テーブルのインデックスと統計に関する情報を取得する方法を示します。
public static void executeGetIndexInfo(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getIndexInfo("AdventureWorks", "Person", "Contact", false, true);
ResultSetMetaData rsmd = rs.getMetaData();
// Display the result set data.
int cols = rsmd.getColumnCount();
while(rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(rs.getString(i));
}
}
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
参照
SQLServerDatabaseMetaData のメソッド
SQLServerDatabaseMetaData のメンバー
SQLServerDatabaseMetaData クラス