getIndexInfo メソッド (SQLServerDatabaseMetaData)
渡されたテーブルのインデックスと統計情報についての記述を取得します。
public java.sql.ResultSet getIndexInfo(java.lang.String cat, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate)
パラメーター
cat
カタログ名を含む String です。
schema
スキーマ名を含む String です。
table
テーブル名を含む String です。
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" を返します。
|
メモ : |
---|
getIndexInfo メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_indexes (Transact-SQL)」を参照してください。 |
例
次の例では、getIndexInfo メソッドを使用して、SQL Server 2005 AdventureWorks サンプル データベースにある 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 のメンバー